FlockShop.
ai – Full Stack Intern Assignment
This assignment is designed to assess your technical and problem-solving skills across the
stack. It simulates a real-world scenario related to what we’re building — a social,
collaborative shopping experience.
Deadline:
Submit by: 4th May 2025
(Upload your completed assignment in the Google Form as a .zip or .pdf link.)
Assignment Overview: Build a Collaborative Product Wishlist App
Goal:
Build a "Shared Wishlist App" where multiple users can create, manage, and interact with
wishlists in real-time — imagine users in a group planning a shopping spree together.
Key Requirements:
Frontend (React / Vue / Angular preferred):
● A simple UI with the ability to:
○ Sign up & log in (use dummy authentication or Firebase Auth).
○ Create a new wishlist.
○ Add, edit, and remove products (name, image URL, price).
○ Invite others to join the wishlist (mock this for now).
○ Show who added which item (username or email).
Backend (Node.js/Express OR Python/Flask OR Java/Spring Boot):
● REST APIs or GraphQL to:
○ Handle user signup/login (mock OK).
○ CRUD for wishlist and products.
○ Store who created/edited each item.
Database (Any of your choice: MongoDB, PostgreSQL, Firebase, etc.):
Store wishlists, user data, product items, timestamps.
Bonus (Optional):
● Realtime sync using WebSockets or Firebase Realtime DB.
● Comments or emoji reactions on products in a wishlist.
● Responsive mobile-friendly UI.
Submission Guidelines:
● Include all source code in a ZIP or GitHub repo.
● Attach a README.md with:
○ Setup instructions
○ Tech stack used
○ Assumptions or limitations
● Include screenshots or a Loom/video demo (if possible).
● Share any thoughts on how you'd scale or improve this app.
Evaluation Criteria:
● Clarity and structure of code (frontend + backend)
● Functionality and completeness
● Design/UX of the interface
● Bonus for clean Git practices or live demo links
● Creativity in features or UI
Reminder:
Make sure your submission is your original work. Collaborative discussions are fine, but
copy-paste code without understanding may disqualify you.