https://github.com/asm2212/taskify-backend
Taskify - Backend Test Project at FST: A simple task manager API with JWT auth, built using NestJS, and Mongodb
https://github.com/asm2212/taskify-backend
jwt mongoose nestjs render-deployment rest-api
Last synced: 3 months ago
JSON representation
Taskify - Backend Test Project at FST: A simple task manager API with JWT auth, built using NestJS, and Mongodb
- Host: GitHub
- URL: https://github.com/asm2212/taskify-backend
- Owner: asm2212
- Created: 2025-07-09T18:20:14.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-07-19T03:32:36.000Z (6 months ago)
- Last Synced: 2025-07-19T08:50:33.174Z (6 months ago)
- Topics: jwt, mongoose, nestjs, render-deployment, rest-api
- Language: TypeScript
- Homepage:
- Size: 258 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Taskify Backend API




A production-ready task management REST API built with NestJS, MongoDB, and JWT-based authentication.
---
## 🚀 Live Demo
**Base URL:** `https://taskify-backend-bsm1.onrender.com`
[](https://god.gw.postman.com/run-collection/YOUR_COLLECTION_ID)
---
## 🔑 API Endpoints
### 🧑💼 Auth
| Method | Endpoint | Description |
|--------|----------------|--------------------------|
| POST | `/auth/signup` | Register new user |
| POST | `/auth/login` | Login and get JWT token |
### ✅ Tasks
| Method | Endpoint | Description |
|--------|--------------|------------------------------------|
| POST | `/tasks` | Create a new task (protected) |
| GET | `/tasks` | Get all tasks (filter supported) |
| PATCH | `/tasks/:id` | Update task status (protected) |
| DELETE | `/tasks/:id` | Delete task by ID (protected) |
### 👤 Users
| Method | Endpoint | Description |
|--------|------------------|---------------------------------|
| GET | `/users/profile` | Get authenticated user profile |
---
## 🔐 Example Requests
### 📌 Register a User
```bash
curl -X POST "https://taskify-backend-bsm1.onrender.com/auth/signup" \
-H "Content-Type: application/json" \
-d '{
"name": "John Doe",
"email": "john@example.com",
"password": "Passw0rd!"
}'
```
### 🔐 Login and Get JWT Token
```bash
curl -X POST "https://taskify-backend-bsm1.onrender.com/auth/login" \
-H "Content-Type: application/json" \
-d '{
"email": "john@example.com",
"password": "Passw0rd!"
}'
```
✅ Create a Task (Requires JWT)
```bash
curl -X POST "https://taskify-backend-bsm1.onrender.com/tasks" \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "Finish 1"}'
```
📋 Get All Tasks (With Optional Filters)
```bash
curl -X GET "https://taskify-backend-bsm1.onrender.com/tasks?status=OPEN&limit=10" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
```
📝 Update Task Status
```bash
curl -X PATCH "https://taskify-backend-bsm1.onrender.com/tasks/" \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"status": "IN_PROGRESS"}'
```
🗑 Delete Task
```bash
curl -X DELETE "https://taskify-backend-bsm1.onrender.com/tasks/" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
```
👤 Get Authenticated User Profile
```bash
curl -X GET "https://taskify-backend-bsm1.onrender.com/users/profile" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
```
🛠 Build & Run Locally
```bash
git clone https://github.com/asm2212/taskify-backend.git
cd taskify-backend
npm install
npm run start:dev