A Flask-based task management application with user authentication, task sharing, and offline support.
- User authentication (register, login, logout)
- Create, update, and delete tasks
- Set due dates for tasks
- Share tasks with other users
- Offline support with automatic sync
- Modern and responsive UI
- Create a virtual environment:
py -3.11 -m venv .venvOr if python is between 3.8 and 3.11 for your default environment:
python -m venv .venv- Activate the virtual environment:
- Windows:
.\venv\Scripts\activate- Linux/MacOS:
source venv/bin/activate- Install dependencies:
pip install -r requirements.txt- Create a
.envfile in the project root with the following variables:
FLASK_APP=app.py
FLASK_ENV=development
SECRET_KEY=your-secret-key(please_change)
DATABASE_URL=sqlite:///tasks.db
- Run the application:
python app.pyThe application will be available at http://localhost:5000.
task-manager/
├── app.py # Main application file
├── requirements.txt # Python dependencies
├── .env # Environment variables
├── static/ # Static files
│ ├── css/
│ │ └── style.css # Custom styles
│ ├── js/
│ │ └── dashboard.js # Dashboard JavaScript
│ └── sw.js # Service worker
└── templates/ # HTML templates
├── base.html # Base template
├── index.html # Home page
├── login.html # Login page
├── register.html # Registration page
└── dashboard.html # Dashboard page
- Flask (Python web framework)
- SQLAlchemy (ORM)
- Flask-Login (User authentication)
- Bootstrap 5 (UI framework)
- Service Workers (Offline support)
- IndexedDB (Client-side storage)