A full-stack CRUD application built with Node.js, Express, and PostgreSQL. This project was developed as part of the NodeJS course to practice database relations and server-side rendering with EJS.
- Backend: Node.js/Express hosted on Render (Free Tier).
- Database: PostgreSQL hosted on Neon platform.
- This project is on a free server that hibernates during inactivity. Please be patient for about a minute while it boots up
You can explore the live application at the link this link 👉 🔥 Live Demo
- Full CRUD: Create, Read, Update, and Delete both Categories and Products.
- Relational Database: Items are linked to specific categories with Foreign Key constraints.
- Dynamic UI: View all categories or filter items by a specific category.
- State Persistence: Filters and sort orders are maintained across page reloads.
- Data Integrity: Custom logic handles what happens to items when a category is deleted.
- Backend: Node.js, Express.js
- Database: PostgreSQL
- Frontend: EJS (Embedded JavaScript Templates), CSS3
The application uses two main entities with a One-to-Many relationship: one category can contain multiple products.
Tables:
- Categories: id, name, description.
- Products: id, name, description, sale_price, current_stock, category_id.








