A modern, full-stack task management application built with Django REST API backend and React frontend, featuring AI-powered task suggestions and a beautiful Material-UI interface.
- User Authentication: Secure login/signup with token-based authentication
- Task Management: Create, edit, delete, and toggle task completion
- Task Categories: Organize tasks by Work, Personal, Home, Health, Learning, Finance
- Priority Levels: Set Low, Medium, or High priority for tasks
- AI Suggestions: Get intelligent task suggestions based on your patterns
- Modern UI: Beautiful Material-UI interface with responsive design
- Real-time Updates: Instant task updates without page refresh
- Progress Tracking: Visual progress indicators and statistics
- Django 5.2.4: Web framework
- Django REST Framework: API development
- SQLite: Database (development)
- Token Authentication: Secure API access
- CORS: Cross-origin resource sharing
- React 18: User interface library
- Material-UI: Component library
- Axios: HTTP client
- React Router: Navigation
- Context API: State management
- Python 3.8+
- Node.js 16+
- npm or yarn
git clone <your-repo-url>
cd AI-to-do-application# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Run migrations
python manage.py migrate
# Create superuser (optional)
python manage.py createsuperuser
# Start backend server
python manage.py runservercd frontend
# Install dependencies
npm install
# Start development server
npm start- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- Admin Panel: http://localhost:8000/admin
- Username: admin
- Password: admin123
AI-to-do-application/
├── backend/ # Django settings
├── frontend/ # React application
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── contexts/ # React contexts
│ │ └── services/ # API services
├── tasks/ # Django app
│ ├── api_views.py # API views
│ ├── models.py # Database models
│ └── serializers.py # API serializers
├── templates/ # Django templates
├── manage.py # Django management
└── requirements.txt # Python dependencies
Create a .env file in the root directory:
DEBUG=True
SECRET_KEY=your-secret-key
DATABASE_URL=sqlite:///db.sqlite3
ALLOWED_HOSTS=localhost,127.0.0.1The application is configured to allow requests from:
- Frontend: Deploy to vercel
- Backend: Deploy to Render
- Database: Use Render PostgreSQL
POST /api/auth/signup/- User registrationPOST /api/auth/login/- User loginPOST /api/auth/logout/- User logoutGET /api/auth/user/- Get current user
GET /api/tasks/- List all tasksPOST /api/tasks/- Create new taskGET /api/tasks/{id}/- Get specific taskPUT /api/tasks/{id}/- Update taskDELETE /api/tasks/{id}/- Delete taskPATCH /api/tasks/{id}/toggle/- Toggle task completionGET /api/tasks/suggestions/- Get AI suggestions
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Material-UI for the beautiful components
- Django REST Framework for the robust API
- React team for the amazing frontend framework
If you have any questions or need help, please open an issue on GitHub.
Made with ❤️ by ravi verma