This project is a simple web application for a task management system. The application allows users to create, view, and delete tasks. The frontend is built using Flask and Bootstrap, while the backend uses Flask and PostgreSQL. The entire application is containerized using Docker.
- Python and pip installed on your machine (for running locally).
- Docker and Docker Compose installed on your machine (for running with Docker).
-
Clone the repository
git clone https://[email protected]/juanesgarciamar/task-manager/_git/task-manager cd task-manager
-
Set up environment variables
Create a
.env
file in the root directory and add the following variables:DB_NAME=task_manager_db DB_USER=postgres DB_PASSWORD=1234 SECRET_KEY=my-super-secret-key JWT_SECRET_KEY=my-super-secret-key
-
Build and run the Docker containers
docker compose up --build
This will build the Docker images and start the containers for the web application and the PostgreSQL database.
-
Access the application
Open your web browser and navigate to
http://localhost:8000
.
-
Clone the repository
git clone https://[email protected]/juanesgarciamar/task-manager/_git/task-manager cd task-manager/web_app
-
Set up a PostgreSQL instance
You can either install PostgreSQL locally or run a PostgreSQL container using Docker.
-
Set up environment variables
Create a
.env
file in the root directory and add the following variables:DATABASE_URL=postgresql://postgres:1234@localhost:5432/task_manager_db SECRET_KEY=my-super-secret-key JWT_SECRET_KEY=my-super-secret-key
-
Install dependencies
You can install dependencies using
pip
orpoetry
.Using pip:
python3 -m venv venv source venv/bin/activate pip install -r requirements.txt
Using Poetry:
poetry install
-
Run the Flask application
flask run
-
Access the application
Open your web browser and navigate to
http://localhost:5000
.
task-manager/
│
├── README.md
├── azure-pipelines.yml
├── build.sh
├── docker-compose.yml
└── web_app/...
web_app/
│
├── Dockerfile
├── migrations/...
├── poetry.lock
├── pyproject.toml
├── requirements.txt
├── run-local.sh
├── run-prod.sh
└── src/
├── app/
│ ├── __init__.py
│ ├── auth/
│ │ ├── constants.py
│ │ ├── decorators.py
│ │ ├── forms.py
│ │ ├── helpers.py
│ │ ├── models.py
│ │ ├── routes.py
│ │ ├── schemas.py
│ │ ├── services.py
│ │ └── views.py
│ ├── commands.py
│ ├── common/
│ │ ├── error_handlers.py
│ │ ├── exceptions.py
│ │ └── helpers.py
│ ├── config.py
│ ├── constants/
│ │ └── http_status_codes.py
│ ├── extensions.py
│ ├── static/...
│ ├── tasks/
│ │ ├── forms.py
│ │ ├── models.py
│ │ ├── routes.py
│ │ ├── schemas.py
│ │ ├── services.py
│ │ └── views.py
│ └── templates/...
└── wsgi.py
This project is licensed under the MIT License - see the LICENSE file for details.