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 .