A full-featured recipe platform where users can search, save, and interact with recipes. Includes user dashboards, admin moderation, and review/commenting โ all backed by Firebase.
Home cooks and food enthusiasts struggle to find, organize, and share recipes in a single platform that combines discovery, personalization, and community interaction.
Built a role-based web app with authentication, a recipe search API, favorites system, and review engine. Admins can moderate content through a dedicated dashboard, while users manage their saved recipes and reviews in their own portal.
Next.js pages with shadcn/ui components for a consistent design system. TailwindCSS handles all layout and responsive styling. Client-side state manages the current user session, favorites list, and search filters. LocalStorage is used as an interim cache for saved recipes until full Firestore persistence is implemented.
Firebase Authentication handles user sign-in. Firestore stores user profiles, saved favorites, reviews, and admin flags. Role-based access control separates admin and user views โ admin routes check a `role` field on the user's Firestore document before rendering the dashboard.
Firestore collections: users (profile + role), favorites (user-to-recipe mapping), reviews (linked to recipe ID). Recipe content is fetched from a public Recipe API and not stored โ only user interactions (saves, reviews) persist in Firestore.