TaskVantage is a comprehensive task management web application designed to help users efficiently manage their daily tasks, subtasks, and projects. The application provides a user-friendly interface for task creation, organization, and tracking, making it an ideal tool for individuals and teams looking to stay productive.
- User Authentication: Secure login and registration system with OAuth integration coming soon for Google, Facebook, and Apple.
- Task Management: Create, update, and delete tasks with properties such as title, description, due date, priority, status, tags, and more.
- Subtasks: Break down complex tasks into manageable subtasks.
- Reminders and Notifications: Set reminders for important tasks and get notified about upcoming deadlines.
- Task Filtering: Filter tasks based on their status (Today, Overdue, In Progress, Pending, Completed).
- Dashboard Overview: Get a quick overview of tasks, including totals for tasks, subtasks, and tasks past their deadline.
- Activity Tracking: View recent completed tasks in the activity feed.
- Responsive Design: Optimized for both desktop and mobile devices.
Here are some screenshots showcasing the key features of the TaskVantage application:
The login page provides a secure authentication system where users can log in with their credentials.
The home page offers a clean, user-friendly dashboard where users can view a quick overview of their tasks and progress.
The "Add Task" interface allows users to easily create tasks with details such as title, description, due date, and priority.
Users can manage and filter tasks based on their status, such as pending, in-progress, and completed, providing a clear view of their workload.
TaskVantage features push notifications, ensuring users are alerted about upcoming deadlines and important reminders in real time.
-
Frontend:
- Angular
- TypeScript
- Angular Material
- Chart.js for data visualization
-
Backend:
- Spring Boot (Java)
- MySQL Database
- JPA/Hibernate for database interaction
-
Deployment:
- Azure DevOps for CI/CD pipeline
- Azure App Services
You will need to set a number of environment variables:
- EMAIL_PASSWORD
- DB_URL
- DB_USERNAME
- DB_PASSWORD
- SPRING_PROFILES_ACTIVE
- GOOGLE_CAL_ID (obtain in google cloud console)
- GOOGLE_CAL_SECRET (obtain in google cloud console)
- JWT_SECRET (generate this using node.js and randomBytes)
- Node.js and npm
- Angular CLI
- Java 17+
- MySQL
-
Clone the repository:
git clone https://github.com/nickking93/TaskVantage.git
-
Navigate to the frontend directory:
cd frontend/task-manager
-
Install the dependencies:
npm install
-
Run the Angular development server:
ng serve
The frontend should now be running at
http://localhost:4200
.
-
Navigate to the backend directory:
cd backend
-
Set up the MySQL database:
- Create a database named
taskvantage
. - Update the
application.properties
file with your MySQL credentials or create environmental variables to hold them.
- Create a database named
-
Build and run the Spring Boot application:
mvn clean install mvn spring-boot:run
The backend should now be running at
http://localhost:8080
.
- Register or log in with your credentials.
- Start by creating a new task using the "Add Task" button.
- Use the sidebar to navigate between different sections like tasks, settings, and help.
- Filter tasks by their status using the filter options provided.
- View task progress and statistics on the dashboard.
Contributions are welcome! If you find any bugs or have feature suggestions, feel free to open an issue or submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for more details.
For any inquiries or support, you can reach me at:
- Email: [email protected]
- LinkedIn: LinkedIn
- GitHub: GitHub