Taskora API built using Node.js, Express.js, TypeScript, Prisma ORM, and Redis. It allows users to create, read, update, and delete projects & tasks while following RESTful API design principles.
π Frontend Repository | π Live Preview
[+400 active users! π
[
- π Features
- π API Documentation
- ποΈ Database Schema
- π οΈ Getting Started
- π€ Contributing
- π Authentication & Authorization (JWT & OAuth2 with Google & GitHub).
- β CRUD Operations for Projects, Tasks, and Tags.
- π Task Management with Tags & Status.
- π User Profile Handling.
- π Token Refresh & Password Reset via Email.
- π₯ Redis Caching for Improved Performance.
- π§ Email Notifications for Verification & Password Reset.
- π Background Jobs using BullMQ for sending emails asynchronously.
- π [Previously] Deployed on Azure, [Currently] running on a VPS with Nginx as Reverse Proxy.
- ποΈ CI/CD using GitHub Actions.
- π Ramadan Challenge A special feature for Ramadan, allowing users to set daily goals and track their progress.
- π₯³ Eid Competition A fun competition feature for Eid, where users can participate in challenges and win prizes.
- π Todo β π Explore finished & upcoming features, enhancements, and what's next for Taskora!
Easily test and interact with the API documentation using Postman
Swagger UI is available at /api-docs to explore the API endpoints and their details.
These instructions will get you a copy of the project up and running on your local machine for development and testing.
Before you begin, ensure you have met the following requirements:
- π³ Docker and Docker Compose
- π Web browser like Google Chrome
- π» Text editor (recommended: Visual Studio Code)
- π§ͺ API Testing Tool β Postman
- π Database Engine β DBeaver
-
π Clone the repository :
git clone https://github.com/MuhammedMagdyy/Taskora-API.git
-
π Navigate to the project directory :
cd Taskora-API -
π‘οΈ Configure Environment Variables :
# Update the `.env` file with your environment variables. cp .env.example .env -
π Build and start the Docker containers :
docker compose up -d --build
-
π₯οΈ Useful commands :
# Start containers docker compose up -d # Follow logs docker compose logs -f app # Stop, and remove containers docker compose down # Stop, remove containers, and volumes docker compose down -v
π‘ Found a bug? Have an idea for a new feature? Contributions are welcome!
Please read the CONTRIBUTING.md file for details on how to contribute to this project.
π Happy Coding!