- Discover the best poutines in your area
- Share your poutine experiences with detailed reviews and photos
- Rate poutines based on overall quality, fries, sauce, and cheese
- Create a personalized "Poutines to Try" list
- Connect with fellow poutine lovers
- Find restaurants based on your preferences (e.g. type of restaurant, popularity, minimum rating)
- Contribute to the community by adding new poutine spots
- Customize your profile to showcase your poutine expertise
- Frontend: React.js, Next.js, Tailwind CSS
- Backend: Node.js (Next.js api routing)
- Storage: MongoDB, Cloudinary
- Auth: JWT, OAuth
- Deployment: Vercel
- Emails: SendGrid,
- Add environment variables in
.env.development
- Run
npm i
- Run
npm run dev
- Implement database pooling
- Test compatibility with various mobile browsers
- Add "Add to Watch List"/"Poutines to Try" feature & page
- Implement edit profile functionality (name, profile photo, bio, soft-delete account)
- Implement follow user feature
- Create About Us/Contact page
- Create
isLoggedIn
andisAdmin
backend middleware - Add backend validation using Joi
- Refetch data without page refresh for actions like login, account creation, adding a review, etc.
- Cache the current user
- Use skeleton screens instead of spinner
- Add filtering options on restaurant index page
- Implement email verification for email signup
- Implement email-based password change
- Add upvote, downvote, and report review features
- Support multi-photo upload
- Add takeout/dine-in pill selector in review form
- Rate fries
- Rate sauce
- Rate cheese
- Include poutine name and price in reviews
Inspiration ideas for rating criteria: Route de la Poutine
- Add
isPermanentlyClosed
boolean - Improve design of category tag pills in restaurant card and show page
- Add
isApproved
boolean to restaurants — Users can create & review a new restaurant, but it will only be visible to them until an admin approves it