A full stack application for todo duties management that can add/edit/complete the duties.
Docker and Docker Compose are required. Recommend the newest version of Docker and Docker Compose.
The exact minimum versions that can run this project has not been tested. However, they must be at least the versions that support include syntax in docker-compose.yml is required. See Docker Docs on include.
- Build the docker images needed and run the containers with the below command.
make build-and-run- Open the browser and go to http://localhost. Done!
This project has setup github workflows for CI. Formatting / linting / unit tests for both frontend and backend, integration tests for backend, and end to end tests for the entire application.
See .github/workflows directory for more details.
This project has a convention that each pull request should be manageable in size and each commit should be focused on the change as described in the commit message.
No direct pushes to main branch and all changes should be made via pull request.
- Node v20
- Docker and Docker Compose, for spawning a local PostgreSQL database for backend
Install the node dependencies needed with the below command.
make local-installbackend/directory is for backend code.
See README of backend for more details.frontend/directory is for frontend code.
See README of frontend for more details.e2e/directory contains end-to-end test code usingCypress.
See make e2e-dev for shortcut to runcypressin this project. Also can refer to the official document ofcypressfor further details.
Noted that term of development mode below means that the application will be reloaded automatically when the code is changed.
Run the backend server in development mode.
Run both frontend and cypress in development mode. Also have to run make backend-dev in another terminal.
See makefile for more details.
README of backend and README of frontend for more specific commands of both frontend and backend during development.