An art project of the weekly billboard chart
- Backend is written in Python and is a Flask App Deployed on Render
- Cron a Python written AWS Lambda with an AWS EventBridge cron event every Tuesday (32 5 ? * 3 * ). The CRON hits the backend and tell it to perform the scrape amd save it to the database.
- Frontend is NextJS and deployed on Vercel
- Ensure you have python installed using
$ python --version. The project supports Python 3.12.4 - Clone the Project
$ git clone https://github.com/Kyle01/Better-Billboard.git - Change directory to the backend
$ cd api - Create a new virtual environment using
$ python -m .venv - Change directory to the bin of the virtual environment
$ cd .venv/bin/ - Start the virtual environment
$ source activate - Change directory back to the api folder with
$ cd ../.. - Install the requirements
pip install -r requirements.txt - Start the flask server with
flask --debug run - Server will be running on http://127.0.0.1:5000
- Ensure node installed with
$ node --version. The project supports node 20.10.0 - Go the frontend folder
$ cd web-app - Install the frontend with
$ npm i - Start up the server with
$ pnpm dev - Frontend server will be up and running on http://localhost:3000/
- To run all tests, ensure you're in the api directory, and run
$ pytest .
