This is a prototype full stack application designed to demonstrate the best practices. As a demo, this app serves trivia questions created by ChatGPT with increasing difficulty.
The backend is a python flask application. The code is organized into:
- models
- controllers
- services
- tests
This is a react application that renders the trivia questions.
This has the docker-compose file required to setup postgres
and redis
needed to develop and test the application.
This is the terraform configuration for deploying the application into a staging
and production
env.
The app uses postgres
to store the user and quiz models. TODO: Cache ChatGPT response using Redis
.
The app is configured using Dynaconf. The default settings are present in backend/settings.toml
. These configuration params will be overridden using environment variables in staging and production.
Tests can be run with pytest
. TODO: Add coverage report.