a cool website for the ignite global gifted child art show - an online art competition for young gifted artists.
check it out at https://ignite-global.org; maybe even submit some artwork?
made with flask, mongodb, typesense, and bootstrap 5
This project requires you to have:
- a MongoDB instance running locally. You can install MongoDB here.
- a Typesense instance running locally. You can install Typesense here.
- an AWS S3 bucket for storing images. You can create an AWS account here.
- Python 3.12 or higher (untested but may work with lower versions)
To run the project locally, follow these steps:
- Clone the repository
- Install the required Python packages by running
pip install -r requirements.txt
- Set the following environment variables:
AWS_BUCKET_NAME
: the name of the AWS S3 bucketAWS_ACCESS_KEY_ID
: the AWS access key IDAWS_SECRET_ACCESS_KEY
: the AWS secret access keyADMIN_USERNAME
: the username for the admin accountDB_URI
: the URI for the MongoDB instanceSECRET_KEY
: a secret key for the Flask appTYPESENSE_API_KEY
: the API key for the Typesense instance
- Change the S3 bucket policy to allow public access to objects
- Change all instances of
ignite-global.s3.ap-southeast-2.amazonaws.com
to use the correct S3 bucket URLtemplates/gallery.html
lines 24 & 43ignite.py
lines 289 & 346
- Run the Flask app by running
flask run --cert=adhoc
- Visit
https://localhost:5000
in your browser - Voila!