๐๐๐ฏ๐๐ฎ๐ฅ๐ฌ๐ ๐๐๐ โ A modern bug tracking and issue management backend API built with Express.js, TypeScript, and PostgreSQL, hosted on Neon DB. This project follows clean architecture principles and modern backend development practices, featuring secure authentication, role-based access control, scalable project structure, RESTful APIs, database integration, and production-ready code organization.
Live Demo: https://dev-pulse-puce-kappa.vercel.app/
This backend application is built using modern technologies to ensure scalability, maintainability, and performance.
This project includes essential backend development concepts and real-world API implementation.
| Feature | Description |
|---|---|
| ๐ Authentication & Authorization | Secure user registration, login, and role management |
| ๐ก๏ธ Role-Based Access Control | Restrict actions based on Maintainer and Contributor roles |
| ๐ Issue Management | Create, retrieve, filter, update, resolve, and delete issues |
| ๐ Query Filtering | Filter issues by type, status, and sorting options |
| ๐ฆ RESTful API | Structured API endpoints following REST principles |
| ๐๏ธ PostgreSQL Database | Reliable relational database management |
| โ๏ธ Neon DB | Cloud-hosted PostgreSQL database |
| โก TypeScript | Type-safe, scalable, and maintainable codebase |
| ๐งฉ Modular Architecture | Organized and scalable project structure |
| ๐จ Global Error Handling | Centralized error management system |
| ๐ Input Validation | Secure and validated request handling |
| ๐ Production Ready | Built using industry-standard best practices |
This project demonstrates modern backend development practices and serves as a strong foundation for building scalable applications.
| Benefit | Description |
|---|---|
| ๐งฑ Clean Architecture | Easy to maintain, extend, and scale |
| ๐ RBAC Authorization sensitive resources and operations | |
| โก Strict Type Safety | Reduces bugs through TypeScript |
| ๐ฆ Modular Structure | Better separation of concerns |
| ๐๏ธ Database Integration | Efficient PostgreSQL data management |
| โ๏ธ Cloud Database | Hosted using Neon PostgreSQL |
| ๐ Scalable Design | Suitable for real-world applications |
This API follows modern authentication and security practices.
| Technology | Purpose |
|---|---|
| ๐ JWT Authentication | Secure authentication using signed access tokens |
| ๐ก๏ธ RBAC Middleware | Dynamic permission enforcement across routes |
| ๐ Password Hashing | Secure storage of user credentials |
| ๐จ Global Error Handling | Safe, consistent, and structured API responses |
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/auth/signup |
Register a new user |
| POST | /api/auth/login |
Login and receive access token |
| GET | /api/issues |
Retrieve all issues |
| GET | /api/issues/:id |
Retrieve a single issue |
| POST | /api/issues |
Create a new issue |
| PATCH | /api/issues/:id |
Update an existing issue |
| DELETE | /api/issues/:id |
Delete an issue |
| GET | /api/issues?sort=newest |
Sort issues by creation date |
| GET | /api/issues?status=open |
Filter issues by status |
| GET | /api/issues?type=bug |
Filter issues by issue type |
| Package | Installation |
|---|---|
| Express.js | npm install express |
| Dotenv | npm install dotenv |
| PostgreSQL | npm install pg |
| JWT | npm install jsonwebtoken |
| Bcrypt | npm install bcrypt |
| HTTP Status Codes | npm install http-status-codes |
| Package | Installation |
|---|---|
| TypeScript | npm install -D typescript |
| ts-node-dev | npm install -D ts-node-dev |
| tsup | npm install -D tsup |
| Express Types | npm install -D @types/express |
| PostgreSQL Types | npm install -D @types/pg |
| JWT Types | npm install -D @types/jsonwebtoken |
| Bcrypt Types | npm install -D @types/bcrypt |
| Node.js Types | npm install -D @types/node |
DevPulse/
โ
โโโ src/
โ โ
โ โโโ api/
โ โ โ
โ โ โโโ controllers/
โ โ โ โโโ auth.controller.ts
โ โ โ โโโ issue.controller.ts
โ โ โ
โ โ โโโ routes/
โ โ โ โโโ auth.routes.ts
โ โ โ โโโ issue.routes.ts
โ โ โ
โ โ โโโ services/
โ โ โโโ auth.service.ts
โ โ โโโ issue.service.ts
โ โ
โ โโโ config/
โ โ โโโ index.ts
โ โ
โ โโโ db/
โ โ โโโ index.ts
โ โ โโโ schema.ts
โ โ
โ โโโ middleware/
โ โ โโโ auth.ts
โ โ โโโ globalErrorHandler.ts
โ โ โโโ logger.ts
โ โ
โ โโโ types/
โ โ โโโ express.d.ts
โ โ โโโ index.ts
โ โ โโโ interface.error.ts
โ โ
โ โโโ utils/
โ โ โโโ jwt.ts
โ โ โโโ sendResponse.ts
โ โ
โ โโโ app.ts
โ โโโ server.ts
โ
โโโ .gitignore
โโโ package.json
โโโ package-lock.json
โโโ tsconfig.json
โโโ tsup.config.ts
โโโ vercel.json
โโโ README.md# Clone Repository
git clone https://github.com/your-username/DevPulse.git
# Navigate to Project Directory
cd DevPulse
# Install Dependencies
npm install
# Start Development Server
npm run devCreate a .env file and configure the following variables:
PORT=5000
DATABASE_URL=your_neon_postgresql_database_url
JWT_SECRET=your_jwt_secret_keyโ Learn modern backend development and issue tracking systems
โ Build scalable RESTful APIs with filtering and role-based permissions
โ Practice enterprise-level TypeScript development
โ Work with PostgreSQL and Neon DB
โ Implement secure authentication and authorization
โ Follow industry-standard backend architecture patterns
Developed and maintained by Nafi.
โญ If you find this project useful, consider giving it a star.