Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/igomigo/taskpilot
TaskPilot is a robust and intuitive project management software, inspired by popular tools like Trello. This app allows teams and individuals to organize tasks, collaborate effectively, and manage projects with ease.
https://github.com/igomigo/taskpilot
api backend bull jwt mongodb mongoose nodejs redis socket-io
Last synced: 11 days ago
JSON representation
TaskPilot is a robust and intuitive project management software, inspired by popular tools like Trello. This app allows teams and individuals to organize tasks, collaborate effectively, and manage projects with ease.
- Host: GitHub
- URL: https://github.com/igomigo/taskpilot
- Owner: Igomigo
- Created: 2024-06-28T23:01:41.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-01-21T09:25:12.000Z (12 days ago)
- Last Synced: 2025-01-21T10:28:31.928Z (12 days ago)
- Topics: api, backend, bull, jwt, mongodb, mongoose, nodejs, redis, socket-io
- Language: JavaScript
- Homepage:
- Size: 322 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# TaskPilot: Agile Task Management App
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.
## Key Features
- **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.## Technologies Used
- **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## Getting Started
### Prerequisites
Ensure you have the following installed on your local development environment:
- Node.js
- npm (Node Package Manager)
- MongoDB### Installation
1. **Clone the repository:**
```bash
git clone https://github.com/yourusername/taskPilot.git
cd taskPilot
```2. **Install dependencies:**
```bash
npm install
```3. **Set up environment variables:**
Create a `.env` file in the root directory and add the following variables:
```
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
PORT=3000
```4. **Run the development server:**
```bash
npm run dev
```The server will start on `http://localhost:3000`.
## Usage
### User Authentication
- **Register:** Create a new user account.
- **Login:** Authenticate with existing user credentials.
- **Profile:** View and update user profile.### Board Management
- **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.### List Management
- **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.### Card Management
- **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.### Activity Log
- **Track Actions:** Log and view actions performed on boards, lists, and cards.
- **Real-time Updates:** Receive real-time updates on activities.### Notifications
- **Real-time Notifications:** Receive instant notifications for task assignments, comments, and due dates.
## Contribution
Contributions are welcome! Follow these steps to contribute:
1. **Fork the repository:**
Click on the 'Fork' button on the top right of the repository page.
2. **Clone your fork:**
```bash
git clone https://github.com/yourusername/taskPilot.git
cd/taskPilot
```3. **Create a branch:**
```bash
git checkout -b feature-name
```4. **Make your changes and commit them:**
```bash
git add .
git commit -m "Add your commit message here"
```5. **Push to your fork:**
```bash
git push origin feature-name
```6. **Submit a pull request:**
Go to the original repository and click on 'New Pull Request' to submit your changes for review.
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.
## About
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.
---