TaskPilot is a robust and intuitive task management application built with Node.js and MongoDB, inspired by popular tools like Trello. This app allows teams and individuals to organize tasks, collaborate effectively, and manage projects with ease.
- Boards and Lists: Create and organize tasks into customizable boards and lists.
- Cards: Detailed task cards with due dates, labels, attachments, and member assignments.
- Real-time Collaboration: Seamless real-time updates using WebSocket technology.
- Activity Logging: Track all user actions and changes with a comprehensive activity log.
- Notifications: Receive real-time notifications for task assignments, comments, and due dates.
- Integration: Easily integrate with third-party services for file attachments and more.
- Backend: Node.js, Express.js, MongoDB with Mongoose
- Frontend: HTML, CSS, React, TailwindCSS
- Real-time Updates: Socket.io
- Queue Management: Bull for handling background jobs
- Security: JWT for authentication, bcrypt for password hashing
- Deployment: vercel/client, render/server, AWS/Azure/GCP for cloud deployment
Ensure you have the following installed on your local development environment:
- Node.js
- npm (Node Package Manager)
- MongoDB
- Clone the repository:
git clone https://github.com/yourusername/taskPilot.git
cd taskPilot- Install dependencies:
npm install-
Set up environment variables:
Create a
.envfile in the root directory and add the following variables:
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
PORT=3000
- Run the development server:
npm run devThe server will start on http://localhost:3000.
- Register: Create a new user account.
- Login: Authenticate with existing user credentials.
- Profile: View and update user profile.
- Create Board: Create a new board for organizing tasks.
- Update Board: Update board details.
- Delete Board: Delete a board.
- Add/Remove Members: Manage board members.
- Create List: Create a new list within a board.
- Update List: Update list details.
- Delete List: Delete a list.
- Reorder Lists: Change the order of lists within a board.
- Create Card: Create a new card within a list.
- Update Card: Update card details (title, description, due dates, labels, etc.).
- Delete Card: Delete a card.
- Assign Members: Assign members to a card.
- Add Attachments: Attach files to a card.
- Comments: Add and view comments on a card.
- Track Actions: Log and view actions performed on boards, lists, and cards.
- Real-time Updates: Receive real-time updates on activities.
- Real-time Notifications: Receive instant notifications for task assignments, comments, and due dates.
Contributions are welcome! Follow these steps to contribute:
-
Fork the repository:
Click on the 'Fork' button on the top right of the repository page.
-
Clone your fork:
git clone https://github.com/yourusername/taskPilot.git
cd/taskPilot- Create a branch:
git checkout -b feature-name- Make your changes and commit them:
git add .
git commit -m "Add your commit message here"- Push to your fork:
git push origin feature-name-
Submit a pull request:
Go to the original repository and click on 'New Pull Request' to submit your changes for review.
This project is licensed under the MIT License. See the LICENSE file for more details.
TaskPilot is developed and maintained by Igomigo Fatai Victor. It was created as a project to showcase skills in full-stack development and provide a powerful tool for project management and collaboration.