A simple todo list app (called task manager to sound smarter than it is).
Built using:
- 🖼️ Angular, Angular Material and Bootstrap for the frontend
- ⚙️ C# ASP.NET Web API for the backend
- 🗃️ PostgreSQL as the database
- 🐳 Docker to dockerize as the things
Not all tools were strictly necessary, some were included just because we wanted to use them.
CRUD functionality for tasks, frontend and backend validation and frontend filtering.
This repo contains a frontend and a backend.api folder, each with its own README.md containing specific setup instructions.
To get started clone the repo:
git clone [email protected]:NedzadDonlagic04/task-manager-angular.git
cd task-manager-angularAfter you setup the projects in the aforementioned folders you should be able to run everything without issue.
This project uses Docker Compose to run the entire application stack.
Follow the setup in these 2 projects before continuing.
Before you start, you need to provide the credentials for the PostgreSQL database. For security, these are managed using an environment file.
Create a file named .env.db in the root directory of the project. If you change the name of this file make sure you DO NOT COMMIT THIS FILE TO GIT.
Contents of the file should be in this format:
DB_USER=your_db_username
DB_PASS=your_db_password
DB_PORT=5432
DB_NAME=your_db_name
If you have a local PostgreSQL instance running, you may need to stop it to avoid port conflicts.
# Example for a Linux system
sudo systemctl stop postgresqlAfter configuring your environment variables, build and run the entire application with a single command.
The --env-file flag is necessary because your environment variables are stored in a file with a custom name.
If you leave the name just ass .env you don't need to pass it like this to the command.
docker compose --env-file .env.db up --build