An open API service indexing awesome lists of open source software.

https://github.com/jaimin-bariya/champs


https://github.com/jaimin-bariya/champs

Last synced: 8 months ago
JSON representation

Awesome Lists containing this project

README

          

---

# MyToDo App 📝

## Overview

MyToDo is a real-time multi-user collaboration todo list application built using Django, HTML, CSS, and JavaScript. It enables users to collaboratively manage tasks with features such as live updates, task assignments, and role-based access control.

## Key Features 🔑

### User Authentication and Access Control

- **Secure Registration and Login**: Users can securely register and log in to the application.
- **Role-Based Access Control (RBAC)**: Different roles define permissions (e.g., create, edit, delete tasks).

### Real-Time Task Updates

- **Live Collaboration**: Users see real-time updates when tasks are created, edited, or completed.
- **Presence Indicators**: Display online/offline status and active users editing tasks.

### Task Management 📅

- **Create and Edit Tasks**: Users can create new tasks, set due dates, assignees, priorities, and descriptions.
- **Task Comments**: Allow users to comment on tasks for discussions or updates.
- **Task Assignments**: Assign tasks to specific users and notify them of new assignments.

### Collaboration Features 🤝

- **Real-Time Editing**: Enable simultaneous editing of tasks by multiple users with instant updates.
- **Conflict Resolution**: Implement mechanisms to handle concurrent edits and prevent data loss (e.g., last writer wins, merge changes).

### Search and Filters 🔍

- **Advanced Search**: Users can search tasks by title, assignee, due date, etc.
- **Filters**: Options to filter tasks by status (e.g., incomplete, completed), priority, or assignee.

## Workflow 🔄

1. **User Authentication**: Users register or log in.
2. **Task Management**: Users can create, edit, assign, and comment on tasks.
3. **Real-Time Collaboration**: Multiple users can simultaneously edit tasks with live updates.
4. **Search and Filters**: Users can search for specific tasks and apply filters.

## Dockerization 🐳

The application has been Dockerized for easier deployment and scalability:

1. **Build Docker Image**:
```
docker build -t mytodoapp .
```

2. **Run Docker Container**:
```
docker run -p 8000:8000 mytodoapp
```

3. **Access Application**:
Open your web browser and go to `http://localhost:8000` to access the MyToDo application.

## Installation without Docker 🚀

1. Clone the repository:
```
git clone
```

2. Install dependencies:
```
pip install -r requirements.txt
```

3. Apply migrations:
```
python manage.py migrate
```

4. Run the development server:
```
python manage.py runserver
```

---