Skip to content

This Django app provides functionality to manage tasks. You can create a new task, set its status, category and priority. Each category can be edited or deleted. If you delete a category, all tasks in it will be marked as archived and can no longer be displayed.

License

Notifications You must be signed in to change notification settings

TheLordVier/task_planner

Repository files navigation

Task Planner

Application for planning tasks and goals.

Project developed by: Mikhailov Alexander


Stack of technologies used in the application:

  • Python 3.11
  • Django 4.2
  • Django REST framework 3.14.0
  • Django-filter 23.2
  • Social-auth-app-django 5.2.0
  • Flake8
  • Nginx-alpine
  • Postgres SQL
  • Docker, Docker-compose
  • Telegram bot
  • Pytest, Factory-boy

Application structure:

  • Directory bot - Directory with data for Telegram bot operation

  • Directory core - Directory with custom user model

  • Directory tests - Application test directory

  • Directory todolist - The directory with the main django (backend) part of the application

  • Directory deploy - Directory with configuration files for Docker Compose

  • Directory goals - Directory with boards, categories, goals and comments

manage.py - file with a link to the django-admin script for the project

requirements.txt - application dependencies

Dockerfile - container image file

entrypoint.sh - executable for Dockerfile

.dockerignore - files and folders to ignore in Docker

.gitignore - files and folders to ignore in the Git version control system

swagger.json - swagger connected to the project


Preparing and launching the application:

  1. Clone the application
  • in the terminal, type the command git clone https://github.com/TheLordVier/task_planner.git
  1. Create a virtual environment
  • in the terminal, enter the command in the project directory python -m venv venv
  1. Install application dependencies
  • в терминале вводим команду pip install -r requirements.txt
  1. Create an .env file (an example .env file is shown below)
  • create an .env file in the root of the project and write in it the values of the variables used
  1. File docker-compose.yaml
  • create and fill in the file docker-compose.yaml or take a ready-made one from the project
  • in the terminal, type the command docker-compose up -d
  1. Performing migrations
  • in the terminal, type the command ./manage.py makemigrations
  • then enter the command ./manage.py migrate
  • check the performed migrations with the command ./manage.py showmigrations
  1. Running the application locally
  1. Running the application on a remote server

An example of filling out an .env file:

SECRET_KEY=YOUR_SECRET_KEY
DEBUG=True
DB_NAME=postgres
DB_PASSWORD=postgres
DB_USER=postgres
DB_HOST=localhost
DB_PORT=5432
SOCIAL_AUTH_VK_OAUTH2_KEY=YOUR_VK_APP_KEY
SOCIAL_AUTH_VK_OAUTH2_SECRET=YOUR_VK_SECRET_KEY
BOT_TOKEN=YOUR_SECRET_TELEGRAM_BOT_TOKEN

About

This Django app provides functionality to manage tasks. You can create a new task, set its status, category and priority. Each category can be edited or deleted. If you delete a category, all tasks in it will be marked as archived and can no longer be displayed.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages