A full-stack collaborative shopping wishlist platform built for the FlockShop.ai Full Stack Intern Assignment.
π Live Demo: wishlist-frontend-neon.vercel.app
The Shared Wishlist App empowers groups of friends, family, or colleagues to create, manage, and contribute to shared shopping wishlists. Itβs perfect for collective gift planning, event organizing, or any group shopping activity.
flock-assignment/
β
βββ frontend/ # React + Vite app (user interface)
β βββ public/
β βββ src/
β βββ package.json
β βββ ...
β
βββ backend/ # Node.js + Express + MongoDB API server
β βββ models/
β βββ routes/
β βββ controllers/
β βββ server.js
β βββ package.json
β βββ ...
β
βββ README.md # (you are here)
- frontend/: All React code, components, pages, styling (Tailwind), and state management (Redux).
- backend/: Express server, API endpoints, MongoDB/Mongoose models, authentication, and business logic.
- Frontend: React, Vite, Redux Toolkit, Tailwind CSS, Shadcn
- Backend: Node.js, Express, MongoDB, Mongoose, JWT (auth)
- Other: React Router, React Hook Form, modern ES modules, Vercel+Render (deployment)
- Authentication: Signup/Login (mocked; easily upgradable)
- Wishlist Management: Create, edit, delete wishlists
- Product Management: Add, edit, remove products (with name, image, price)
- User Tracking: See who contributed or updated each product
- Invitations: Invite users to a wishlist (UI only, logic mocked)
- (Bonus) Real-time: (If implemented) Instant updates or reactions/comments
- Responsive UI: Works on all devices
git clone https://github.com/sadique-mohammed/flock-assignment.git
cd flock-assignmentcd backend
npm install
# Copy .env.example to .env and update as needed:
# PORT=5000
# MONGODB_URI=mongodb://localhost:27017/wishlist
# JWT_SECRET=your_secret
npm run dev- The backend API will start on
http://localhost:5000and it is deployed on renderhttps://flockshop-shared-wishlist-backend.onrender.com/
Open a new terminal:
cd frontend
npm install
npm run dev- The frontend will run on
http://localhost:5173(or as shown in terminal)
- Visit the live demo: wishlist-frontend-neon.vercel.app
The backend exposes a RESTful API for all wishlist, user, and product operations.
(See /backend/routes/ and /backend/controllers/ for details and add API docs if needed.)
- Upgrade authentication to OAuth or Firebase Auth
- Enable real invite links and email notifications
- Add real-time collaboration (WebSockets/Firebase)
- Comments, reactions, and notifications
- Docker support & cloud deployment (MongoDB Atlas, Vercel, Render, etc.)
- Improved accessibility, more tests, and CI/CD
Mohammed Sadique