Skip to content

DuoTasker is a Django-based web application designed for efficient task management. It leverages Django's robust framework capabilities, along with Nginx for web serving and Redis for enhanced performance.It uses websockets to update task creations, deletion, and markings in realtime so all users have the newest changes at all time.

License

Notifications You must be signed in to change notification settings

BeeTwenty/DuoTasker

Repository files navigation

DuoTasker

GitHub Repo stars Docker Pulls GitHub last commit (branch)LICENSE

DuoTasker is a Django-based web application designed for efficient task management, utilizing Django, Nginx, and Redis. It uses websockets to update task creations, deletion, and markings in realtime so all users have the newest changes at all time.

Getting Started

Set up and run DuoTasker on your local machine or production environment using Docker.

Prerequisites

Docker Compose

Installation and Usage

Using Docker Compose

Set Up Environment Variables: Create a .env file with necessary configurations:

# Django settings
SECRET_KEY=VERY_SECRET_KEY
DEBUG=True
ALLOWED_HOSTS=
CSRF_TRUSTED_ORIGINS=
TIME_ZONE=UTC

# Nginx settings
SERVER_NAME=localhost

# SuperUser settings
DJANGO_SUPERUSER_USERNAME=admin
DJANGO_SUPERUSER_EMAIL=admin@example.com
DJANGO_SUPERUSER_PASSWORD=adminpassword

# Database
DB_NAME=duotakser
DB_USER=duotasker
DB_PASSWORD=duotasker
DB_HOST=postgres
DB_PORT=5432

Create a Docker Compose File:

services:
duotasker:
  image: beetwenty/duotasker:latest
  restart: always
  volumes:
    - /path/to/static/:/app/staticfiles/
  depends_on:
    - redis
    - postgres
  networks:
    - app-network

nginx:
  image: nginx:alpine
  restart: always
  ports:
    - "80:80"
    - "443:443"
  volumes:
    - /path/to/nginx.conf:/etc/nginx/nginx.conf
    - /path/to/static:/app/staticfiles/
  environment:
    - SERVER_NAME=${SERVER_NAME}
  depends_on:
    - duotasker
  networks:
    - app-network

redis:
  image: "redis:alpine"
  networks:
    - app-network

postgres:
  image: postgres
  restart: always
  environment:
    POSTGRES_USER: ${DB_USER}
    POSTGRES_PASSWORD: ${DB_PASSWORD}
    POSTGRES_DB: ${DB_NAME}
  volumes:
    - /path/to/postgresql:/var/lib/postgresql/data/
  networks:
    - app-network

volumes:
static_volume:

networks:
app-network:
  driver: bridge

Run with Docker Compose:

docker compose up -d

Accessing the Application

Localhost: http://localhost:80 Production: Replace localhost with your domain.

Features

Task management, responsive design, PWA capabilities.

Create Super User

set variables in .env

Contributing

Contributions are welcome. Follow standard open-source contribution guidelines.

License

Licensed under the MIT License.

About

DuoTasker is a Django-based web application designed for efficient task management. It leverages Django's robust framework capabilities, along with Nginx for web serving and Redis for enhanced performance.It uses websockets to update task creations, deletion, and markings in realtime so all users have the newest changes at all time.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published