It's a web app to keep track of think you'd like to do. Is like a to do list but instead of things you have to do it’s for activities you'd enjoy.
The backend is a REST API written using Python and flask. PostgreSQL is used as database. The client is written using React with Typescript and Tailwind CSS.
Inside the server folder create an .env file with the following environment variable definitions.
JWT_SECRET_KEY=random_string_here
DATABASE_URL=postgresql://postgres:local_password@db/local_db
Run the docker with Python server and PostgreSQL db. (make sure Docker is installed)
$ cd server
$ docker compose upInside the server folder create an .env file with the following environment variable definition:
VITE_API_BASEURL=http://127.0.0.1:5000/api/
Run the application in development mode (ensure Node.js and npm are installed)
$ cd web
$ npm install
$ npm run devI wrote some tests using Pytest. To run the tests you need a test PostgreSQL database. For this purpose is possibile to use docker with the following command:
docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d -p5432:5432 postgresAnd updating the server/tests/conftest.py file with the correct PostgreSQL connection string
@pytest.fixture(scope="session")
def app():
app = create_app("postgresql://postgres:mysecretpassword@localhost:5432/postgres")
with app.app_context():
yield appThen run the tests with:
pytestI'd like to use some public API to get information about movies, books and so on. I'd like to add more categories like music, videogames, theater shows etcetera. I'd like to add more filters to find items in list. I'd like to use github actions and cloudformation to deploy the app with aws.