|
1 | | - ## Task Manager System (Django REST) |
2 | | - |
3 | | -A RESTful API built with Django REST Framework and React for managing users, tasks, and authentication. |
4 | | -This project simulates a real-world software company workflow — including Agile sprints, CI/CD, automated testing, and deployment. |
5 | | - |
6 | | -[Live Demo](https://task-manager-system-1-7ceq.onrender.com/ "Optional tooltip") |
7 | | - |
8 | | -Table of Contents |
9 | | -General Info |
10 | | -Technologies |
11 | | -Installation |
12 | | -Usage |
13 | | -Collaboration |
14 | | -General Info |
15 | | - |
16 | | -# Key Features: |
17 | | - |
18 | | -- JWT-based authentication and authorization |
19 | | - |
20 | | -- Responsive React Frontend |
21 | | - |
22 | | -- User and Task management (CRUD operations) |
23 | | - |
24 | | -- Role-based access (Admin / Standard user) |
25 | | - |
26 | | -- PostgreSQL database with migrations |
27 | | - |
28 | | -- Environment-based configuration using .env |
29 | | - |
30 | | -- Unit testing and CI/CD with GitHub Actions |
31 | | - |
32 | | -- Docker-based deployment |
33 | | - |
34 | | -- Jira-based sprint tracking (Epics → Stories → Tasks) |
35 | | - |
36 | | -# Technologies |
37 | | - |
38 | | -- Python: 3.10+ |
39 | | -- React (TypeScript) |
40 | | -- Django: 5.x |
41 | | -- Django REST Framework (DRF): 3.x |
42 | | -- MySQL: Relational database |
43 | | -- djangorestframework-simplejwt: JWT authentication |
44 | | -- django-environ: Environment variable management |
45 | | -- pytest-django: Testing framework |
46 | | -- Gunicorn: Production WSGI server |
47 | | -- Docker: Containerization |
48 | | -- GitHub Actions: CI/CD automation |
49 | | -- Jira: Agile sprint planning |
50 | | - |
51 | | -## Installation |
52 | | -# 1. Clone the repository |
53 | | -git clone https://github.com/<your-username>/task-manager-django.git |
54 | | -cd task-manager-django |
55 | | - |
56 | | -# 2. Create and activate a virtual environment |
57 | | -python -m venv venv |
58 | | -source venv/bin/activate # macOS/Linux |
59 | | -venv\Scripts\activate # Windows |
60 | | - |
61 | | -# 3. Install dependencies |
62 | | -pip install -r requirements.txt |
63 | | - |
64 | | -# 4. Set up environment variables |
65 | | -cp .env.example .env |
66 | | - |
67 | | -# Example .env content |
68 | | -DJANGO_SECRET_KEY= xxxxxxxxxxxxxxxx |
69 | | -DJANGO_DEBUG=True |
70 | | - |
71 | | -DB_NAME=manager_db |
72 | | -DB_USER=root |
73 | | -DB_PASSWORD=xxxxxxx |
74 | | -DB_HOST=localhost |
75 | | -DB_PORT=3306 |
76 | | - |
77 | | -JWT_SECRET_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
78 | | - |
79 | | -# 5. Run migrations |
80 | | -python manage.py migrate |
81 | | - |
82 | | -# 6. Create superuser |
83 | | -python manage.py createsuperuser |
84 | | - |
85 | | -# 7. Start the development server |
86 | | -python manage.py runserver |
87 | | - |
88 | | -# 8. Run React Frontend |
89 | | -npm run dev |
90 | | - |
91 | | -# Deployment |
92 | | -I have used Render for deployment, as it support integration with postgreSQL and Static Site support. You can deploy anywhere in your choice. |
93 | | -If you are deploying in sever(AWS, of Azure), make use of Docker and Nginx files which are fully configured. Clone the repository, run the Docker-compose. |
94 | | - |
| 1 | +## Task Manager System — Full-Stack (Django REST + React) |
| 2 | + |
| 3 | +A **full-stack task management application** built with Django REST Framework and **React (TypeScript)**. |
| 4 | +It supports **cookie-based authentication**, role-based access, and follows a real-world software development workflow. |
| 5 | + |
| 6 | +🔗 Live Demo: https://task-manager-system-1-7ceq.onrender.com/ |
| 7 | + |
| 8 | +**Demo login (no signup required)** |
| 9 | +- Username: `testuser123` |
| 10 | +- Password: `testuser@12` |
| 11 | +> Note: The app may take **up to ~50 seconds to start** on first load due to free-tier hosting cold starts. |
| 12 | +--- |
| 13 | + |
| 14 | +### What this app does |
| 15 | +- Users can authenticate and manage tasks |
| 16 | +- Tasks support full **CRUD operations** |
| 17 | +- **Role-based access control** (Admin / Standard user) |
| 18 | +- Secure **cookie-based authentication** using JWT |
| 19 | +- Backend APIs consumed by a typed React frontend |
| 20 | + |
| 21 | +--- |
| 22 | + |
| 23 | +### Key highlights |
| 24 | +- Django REST Framework backend with clean API design |
| 25 | +- React + TypeScript frontend with API integration |
| 26 | +- **JWT stored in HTTP-only cookies** for secure authentication |
| 27 | +- PostgreSQL database with migrations |
| 28 | +- Environment-based configuration using `.env` |
| 29 | +- **CI/CD pipeline with GitHub Actions** |
| 30 | +- Dockerized setup with Gunicorn for production |
| 31 | +- Agile-style development tracked using **Jira (Epics → Stories → Tasks)** |
| 32 | + |
| 33 | +--- |
| 34 | + |
| 35 | +### Tech stack |
| 36 | +**Backend** |
| 37 | +- Python, Django, Django REST Framework |
| 38 | +- PostgreSQL |
| 39 | +- SimpleJWT (cookie-based auth) |
| 40 | + |
| 41 | +**Frontend** |
| 42 | +- React |
| 43 | +- TypeScript |
| 44 | +- Axios |
| 45 | + |
| 46 | +**DevOps & Tools** |
| 47 | +- Docker |
| 48 | +- GitHub Actions |
| 49 | +- Jira |
| 50 | +- Render (deployment) |
| 51 | + |
| 52 | +--- |
| 53 | + |
| 54 | +Built to practice and demonstrate **real-world full-stack development**, from API design and authentication to deployment and iteration. |
0 commit comments