Timeframe
-
Github
Objective
A Node.js book review & recommendation API with advanced Prisma ORM and PostgreSQL integration.
Technologies
00
Secure JWT-based authentication with refresh token rotation
01
Multi-tier Role-Based Access Control (USER, AUTHOR, ADMIN)
02
Book CRUD with metadata (genre, ISBN, published year)
03
Ratings and detailed review system (1-5 stars)
04
User collections and sharing interactions
05
Cursor-based pagination for efficient result sets
06
Server-side rate limiting and input validation
07
Audit logging capturing model operation history
08
Personalized recommendation engine based on ratings and genre preferences
Backend
The backend API uses Express.js to define RESTful endpoints. Prisma ORM manages all database interactions with PostgreSQL using a type-safe client. Auth middleware handles JWT access and refresh token flows. Audit logging and RBAC enforcement are implemented as Prisma middleware layers.
Database
00
Securely managing user permissions and access across multiple roles
Implemented RBAC using Prisma enums and middleware to check authorization rules on protected routes and actions, preventing unauthorized reads or updates.
Implemented RBAC using Prisma enums and middleware to check authorization rules on protected routes and actions, preventing unauthorized reads or updates.
01
Maintaining data integrity while supporting advanced query patterns
Used Prisma transactions and strategic indexing to ensure referential consistency and high performance across filter, sort, and pagination operations.
Used Prisma transactions and strategic indexing to ensure referential consistency and high performance across filter, sort, and pagination operations.
02
Capturing audit trails for all user and review activity
Built Prisma middleware that logs before and after states of model changes, creating a detailed audit log without polluting business logic code.
Built Prisma middleware that logs before and after states of model changes, creating a detailed audit log without polluting business logic code.
00
Mastering Prisma ORM for type-safe, performant database access
01
Designing relational database schemas with enums, soft deletes and JSON fields
02
Implementing robust RBAC and JWT auth in backend APIs
03
Using middleware patterns for cross-cutting concerns like audit logging and rate limiting
00
Initial schema design required revisions to support efficient pagination and indexing.
01
Some middleware logic had to be refactored for better separation of concerns.
00
Add full-text search (e.g., PostgreSQL `tsvector`) for books and reviews
01
Integrate AI-based recommendation models
02
Expose GraphQL API alongside REST endpoints
03
Add test coverage with automated CI pipelines
Next Project