CafeRo
A full-stack café discovery platform with location-based search, detailed café profiles, community reviews, bookmarks, and moderated café submissions.
- nextJs
- react
- typeScript
- tailwindCss
- swr
- prisma
- postgreSql
- motion
- graphQl
- hygraph
- shadcnUi
- formischValibot
- neshanMaps
☕ CafeRo — Find Your Next Favorite Café
Discovering an interesting café is easy. Remembering it—and deciding where to go when plans come together—is often harder.
I built CafeRo to bring café discovery, useful information, and community feedback into one place, helping people choose a spot that fits their location, budget, and preferences.
🔎 Discovery That Helps You Decide
Users can search cafés by name, filter by city, price range, and features, or find nearby options using their location. Sorting by rating, review count, or date added makes it easier to explore the results.
Each café has a dedicated page with a photo gallery, description, amenities, price range, contact information, and a map, with directions available through Google Maps, Neshan, and Balad. 📍
💬 From Browsing to Participation
Found somewhere interesting? Save it for later. 🔖
Visited a café? Share your rating, experience, and its strengths and weaknesses. ⭐
Know a place that’s missing? Suggest it, upload photos, and pinpoint its location on an interactive map. 🗺️
Visitors and café owners or managers can contribute new cafés. A personal dashboard brings together saved cafés, submitted reviews, and café submission statuses.
Authentication supports phone-based one-time passwords and Google sign-in. 🔐
🛡️ Moderation Built Into the Product
An admin dashboard supports reviewing, approving, and rejecting user reviews and café submissions.
Moderation is part of the contribution workflow, while users can track the status of their submissions from their dashboard.
⚙️ Full-Stack Implementation
I built CafeRo with Next.js App Router, React, and TypeScript, using Tailwind CSS and shadcn/ui for the interface and Motion for animations.
- 🗂️ Hygraph + GraphQL — café content, media management, and content queries.
- 🗄️ PostgreSQL + Prisma — user accounts, sessions, bookmarks, reviews, and submission records.
- 🔄 SWR — client-side data fetching and cache management.
- ✅ Formisch + Valibot — form handling and validation.
- 📍 Neshan Maps — interactive maps and location selection.
- 📱 Responsive RTL interface — Persian typography and layouts across screen sizes.
- 🌐 Search discoverability — page metadata, canonical URLs, a sitemap, and structured data.
🚀 What This Project Demonstrates
CafeRo brings together product thinking, responsive interface development, API implementation, authentication, database modeling, external service integrations, and content moderation in a complete café discovery application.