Visit here PhotoUploader
A modern and secure Photo Upload & Management web app built with Node.js, Express, EJS, Prisma, Passport, Cloudinary, Alpine.js, and TailwindCSS.
Deployed seamlessly with Vercel.
- 🔐 Authentication with Passport.js (Login & Signup)
- 🗂️ User-specific storage (folders & file management)
- ☁️ Cloud storage via Cloudinary
- 🎨 Dark/Light Mode toggle with Alpine.js + TailwindCSS
- ✅ Validation with custom middleware
- 💾 Session handling stored in PostgreSQL (via Prisma)
- ⚡ Responsive UI with TailwindCSS + Alpine.js
- 🛡️ Secure deployment ready (Helmet, sessions, flash messages)
- Backend: Node.js, Express.js
- Frontend: EJS, TailwindCSS, Alpine.js
- Database: PostgreSQL with Prisma ORM
- Auth: Passport.js (Local strategy)
- Storage: Cloudinary for images
- Session Store: PrismaSessionStore
- Deployment: Vercel
├── prisma/ # Database schema & migrations
├── src/
│ ├── app.js # Express app entry
│ ├── config/ # DB, Passport, Cloudinary configs
│ ├── controllers/ # App controllers
│ ├── middlewares/ # Auth middlewares
│ ├── public/ # CSS, JS, static files
│ ├── routes/ # Express routes
│ ├── uploads/ # Temporary uploads (before Cloudinary)
│ ├── validators/ # Form validators
│ └── views/ # EJS templates (layouts & partials)
├── tailwind.config.js # TailwindCSS config
├── postcss.config.js # PostCSS config
├── package.json
└── vercel.json # Vercel deployment configDeveloped with ❤️ by Rasool
📧 Contact: [email protected]
🐙 GitHub: mutopia7