A simple backend web application using Node.js, Express.js, and EJS that allows users to register, log in, manage profiles, and interact with posts (like, unlike, edit). It also features secure file uploads using Multer and route protection using JWT-based authentication.
- β User Registration & Login (Email & Password)
- π JWT-based Authentication with Cookie Storage
- π€ Profile Page with Profile Picture Upload (using Multer)
- π Create, Edit, Like, and Unlike Posts
- π¦ File Upload Support (Image)
- π§ Protected Routes (Middleware)
- π¨ Server-Side Rendering using EJS Templates
| Technology | Description |
|---|---|
| Node.js | JavaScript runtime environment |
| Express.js | Web framework for Node.js |
| EJS | Template engine for server-side views |
| MongoDB | NoSQL database for storing data |
| Mongoose | MongoDB object modeling tool |
| Multer | Middleware for handling file uploads |
| JWT | Secure token-based authentication |
| Bcrypt | Password hashing for secure auth |
| Crypto | generte a unique filename when uploading ny Multer |