Logo Lanfrica

zaaramedamin/robe-rent

Record type:

software
Creator:
zaa
Host:
A full-stack app that helps wedding dress rental businesses in Tunisia manage online pre-reservations and lets store managers see which dates are available. It features a public dress gallery, real-time availability calendars, a customer pre-reservation flow with client- and server-side validation, and a protected admin dashboard. # RobeRent πŸ‘° A full-stack app that helps wedding dress rental businesses in Tunisia manage online pre-reservations and lets store managers see which dates are available. It features a public dress gallery, real-time availability calendars, a customer pre-reservation flow with client- and server-side validation, and a protected admin dashboard. ## Tech stack | Layer | Tech | | ---------- | ----------------------------------------------------------- | | Frontend | React + Vite, Tailwind CSS, React Router, Zustand, Axios | | Backend | Node.js + Express | | Database | MongoDB + Mongoose | | Validation | Zod + libphonenumber-js (server), inline validators (client)| | Auth | JWT + bcrypt-hashed admin accounts in MongoDB | | Security | helmet, express-rate-limit | | Logging | winston + morgan | | Tests | Jest + Supertest | | Tooling | ESLint (flat config) + Prettier, Docker | ## Features - Public gallery with search, category, price, and date-availability filters. - Per-dress availability calendar with a configurable cleaning buffer between rentals and boutique block-out dates. - Customer pre-reservation flow with real-time field validation and a review-and-confirm step. - Protected admin dashboard: reservations, status lifecycle with an audit trail, calendar, statistics/history, client history, and dress management (with image upload). ## Project structure ``` Robe-Rent/ β”œβ”€β”€ client/ # React + Vite frontend β”‚ └── src/ β”‚ β”œβ”€β”€ api/ # axios instance + service functions β”‚ β”œβ”€β”€ components/ # Navbar, DressCard, ReservationForm, AdminTable, … β”‚ β”œβ”€β”€ pages/ # Home, Gallery, DressDetail, Admin* … β”‚ …