This was a team based project done during the Python and Flask curriculum of the App Academy six month bootcamp program. In it, we used a client side ReactJS app to talk with a Flask API server to retrieve relevant data to power the UI. It was a great project that really helped us develop a better understanding of working with modern web application architecture, authentication, and it was our first introduction to the wonderful world of Docker!
- The team-based development experience with Docker and docker-compose was excellent!
- Working with the Spotify API to generate data for the application was simple and helpful.
- Using JSON Web Tokens (JWT) for auth was much more flexible than using session based auth in Express.
- React Hook Form was an amazing package to work with for handling form validation and error handling.
- Clone project
- Create .env files in the root directory (example.env included and below)
- Create .env file in api_server directory with a
DATABASE_URL
- From the root directory, run
docker-compose up
# .env example
# required in the root of the project
FLASK_ENV=development
POSTGRES_USER=db_user
POSTGRES_PASSWORD=password
POSTGRES_DB=db_name
# required inside of api_server/.env
DATABASE_URL=postgresql://db_user:password@postgres/db_name
Link to live demo -> Click Login and then on Demo User
you may have to give Heroku a minute!