TaskToDo is an application designed for creating and managing daily tasks. Users can mark tasks as completed once done, and enjoy various features to enhance productivity.
Follow the steps below to start the application.
- Navigate to the API folder:
cd API
- Run the .NET API:
dotnet run
- Navigate to the client folder:
cd .. cd client-app
- Install the required dependencies:
npm install
- Run the development server:
npm run dev
-
Run API in Watch Mode (no hot-reload):
dotnet watch --no-hot-reload
-
List Available .NET Templates:
dotnet new -l
-
Build Docker Images:
docker-compose build
-
Start Docker Containers:
docker-compose up
-
Publish API in Release Mode:
dotnet publish -c Release -o ./bin/Publish
-
Add Initial Migration:
dotnet ef migrations add InitialCreate -s API -p Persistence
-
Check Database:
dotnet ef database
-
Update Database:
dotnet ef database update -s API -p Persistence
Here are the upcoming features currently under development:
-
User Authentication and Authorization:
- Implement JWT-based authentication.
- Add role-based authorization for endpoint access.
-
Real-time Notifications:
- Integrate SignalR to notify users of task updates in real-time.
-
Task Reminders:
- Create a background service for sending task reminders via email or push notifications.
-
Task Comments:
- Allow users to comment on tasks for better collaboration.
-
File Attachments:
- Enable file attachments to tasks.
-
Task Prioritization:
- Add task prioritization (high, medium, low).
-
Search and Filtering:
- Implement search and filtering for easy task management.
-
Activity Logging:
- Track and log user activities for auditing.
-
API Rate Limiting:
- Add rate limiting to prevent API abuse.
-
Internationalization (i18n):
- Support multiple languages for global accessibility.
-
Improved Error Handling:
- Enhance error handling with detailed messages.
-
Unit and Integration Tests:
- Expand test coverage with more unit and integration tests.
-
Performance Monitoring:
- Integrate tools like Application Insights for monitoring performance.
-
Data Export:
- Enable task data export in various formats (e.g., CSV, Excel).
-
Dark Mode:
- Add a dark mode for the client application.
This project is licensed under the MIT License.