Task Assist is a comprehensive task management system designed to help users efficiently organize and track their tasks. Built using modern web development technologies, Task Assist provides a user-friendly interface and robust backend functionality to ensure a seamless experience.
- Create, update, and delete tasks.
- Mark tasks as completed or pending.
- Categorize tasks (e.g., work, personal, urgent).
- Filter tasks by category, status, or due date.
- Sort tasks by priority or creation date.
- Secure sign-up and login functionality.
- Authentication using JWT or Firebase.
- Display all tasks in an organized table or card layout.
- Show statistics, such as the number of completed and pending tasks.
- Update user profile details.
- Display personalized greetings.
- HTML, CSS, React.js
- Responsive design: Mobile-first approach
- Node.js, Express.js
- API Endpoints:
GET: Retrieve tasksPOST: Add a new taskPUT: Update a taskDELETE: Remove a task
- MongoDB (cloud-hosted cluster)
- Functions:
- Store tasks
- Manage user data
- Ensure data integrity (add, update, delete validations)
- Firebase for user authentication (optional integration)
- JWT for secure sessions
- Unit testing for API endpoints
- UI testing for React components
- HTML: Build the top section for title and information.
- CSS: Create styling for consistent design.
- React:
- Build reusable components
- Set up routing
- APIs:
- Implement CRUD operations for tasks.
- Include authentication endpoints.
- Task Operations:
- Create, delete, update, and view tasks.
- Undo delete functionality.
- MongoDB:
- Online cluster with necessary collections.
- Test database functionality to verify task actions.
- Functionality: Implement core features (create, update, delete tasks).
- HTML & CSS: Build the frontend structure and style.
- APIs: Develop backend endpoints for seamless integration.
- Authentication: Secure the application using Firebase or JWT.
- Dashboard: Visualize tasks and statistics.
- User Profiles: Personalize user experiences.
- Mobile-first: Optimize for smaller screens first.
- Tablet and Desktop: Ensure seamless scalability.
- React Components: Reusable and modular components.
- Clone the repository:
git clone https://github.com/brandon-ide/TaskAssist.git
- Install dependencies:
cd TaskAssist npm install - Set up the database:
- Create a MongoDB cluster.
- Add necessary collections for tasks and users.
- Run the application:
npm start
- Access the application at
http://localhost:3000.
- Run unit tests for APIs:
npm test - Test UI components with React Testing Library.
Here's an example of how to create a task using the API:
const createTask = async (task) => {
try {
const response = await fetch("http://localhost:3000/api/tasks", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(task),
});
const data = await response.json();
console.log("Task created:", data);
} catch (error) {
console.error("Error creating task:", error);
}
};
createTask({ title: "New Task", category: "Work", completed: false });
Ballers Team
