TaskMate is a comprehensive task management application built with Angular and Python Flask. It provides users with a powerful platform to manage their tasks, track progress, and collaborate with team members.
-
Authentication System
- Secure login and registration
- Email verification
- Password reset functionality
- Session management
-
Task Management
- Create, read, update, and delete tasks
- Task categorization
- Priority levels
- Due date tracking
- Task status updates
-
Dashboard
- Task overview
- Progress tracking
- Analytics and insights
- Quick actions
-
User Management
- User list and details
- User status management
- Role assignment
-
Task Administration
- Create tasks for users
- Monitor task progress
- Task analytics
- Bulk operations
- Angular 16
- TypeScript
- Angular Material
- RxJS
- Google Analytics Integration
- Python 3.x
- Flask
- SQLAlchemy
- JWT Authentication
- RESTful API
todo-list-angular/
├── src/
│ ├── app/
│ │ ├── admin/ # Admin components
│ │ ├── auth/ # Authentication components
│ │ ├── dashboard/ # Dashboard components
│ │ ├── services/ # Angular services
│ │ ├── shared/ # Shared components
│ │ └── landing-page/ # Landing page
│ ├── assets/ # Static assets
│ └── environments/ # Environment configurations
backend/
├── app.py # Main application file
├── requirements.txt # Python dependencies
└── .env # Environment variables
- Install Node.js and npm
- Clone the repository
- Install dependencies:
cd todo-list-angular npm install - Start the development server:
ng serve
- Install Python 3.x
- Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Start the server:
python app.py
apiUrl:=http://localhost:5000
SECRET_KEY=your-secret-key
MONGODB_URI=mongo-uri
- POST /api/auth/register - User registration
- POST /api/auth/login - User login
- POST /api/auth/logout - User logout
- GET /api/tasks - Get all tasks
- POST /api/tasks - Create a task
- GET /api/tasks/:id - Get task details
- PUT /api/tasks/:id - Update task
- DELETE /api/tasks/:id - Delete task
- GET /api/admin/users - Get all users
- GET /api/admin/tasks - Get all tasks
- POST /api/admin/tasks - Create task for user
- PUT /api/admin/tasks/:id - Update task
- DELETE /api/admin/tasks/:id - Delete task
- JWT-based authentication
- Password hashing
- CSRF protection
- Input validation
- Rate limiting
- Secure headers
- Google Analytics tracking
- User behavior monitoring
- Performance metrics
- Error tracking
The application can be deployed using:
- Frontend: Vercel
- Backend: Render
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License.