This platform allows users to discover and bookmark cafes, explore locations with ease, and enjoy a smooth, user-friendly experience—all powered by Flask, PostgreSQL, and SQLAlchemy.
It was a fantastic learning journey—from backend development and database management to UI design and deployment. 💻📍
No followers yet
Once you ship this you can't edit the description of the project, but you'll be able to add more devlogs and re-ship it as you add new features!
i want to clarify that it is like a makemytrip but for cafes , so it has not all the cafes for every location , it has some locations of london till now , and if you just search london in location , it will list all the cafes . Thank You.
🛠️ Devlog: Building My Cafe Finder Website ☕🌐
🔥 Why I Built It
I wanted to create something practical and user-friendly, and the idea of a Cafe Finder seemed perfect. The goal was to allow users to find, bookmark, and even list their favorite cafes. Along the way, I aimed to deepen my skills in Flask, databases, and clean UI development.
🧩 The Stack I Chose
Flask – Lightweight and perfect for quick development.
SQLAlchemy + PostgreSQL – ORM helped manage models cleanly.
Flask-Login – For user authentication.
HTML + CSS + Bootstrap – To get a neat responsive UI quickly.
Jinja2 Templating – Made rendering pages and logic clean.
🔄 Development Phases
📌 Phase 1: Setup & Skeleton
Set up the folder structure, connected Flask to PostgreSQL, and created the basic user and cafe models.
🔐 Phase 2: User Auth
Implemented sign up, login, and logout using Flask-Login. I learned how to securely store passwords and protect routes.
🏗️ Phase 3: CRUD & UI
Created the ability for users to add cafes.
Users could only edit/delete their own cafes (access control).
Used Jinja2 to dynamically list cafes with links and details.
Added bookmarks for logged-in users (many-to-many relationship).
🗺️ Phase 4: Map Integration
Integrated Google Maps Embed API to show location previews based on user-entered URLs.
🚧 Challenges I Faced
Handling relationships in SQLAlchemy (like bookmarks) was tricky at first.
Ensuring only cafe owners could modify their cafes required access checks.
Designing a clean and mobile-friendly UI without overcomplicating it.
🌟 What I Learned
Clean project structure matters a lot.
How Flask handles routes, sessions, and database models.
Real-world use of ORM relationships (one-to-many, many-to-many).
Thinking like a full-stack developer—not just writing backend code but also considering UX/UI.
🚀 What’s Next?
Add user profiles with bios and profile pictures.
Filter cafes by tags like “WiFi,” “Outdoor Seating,” or “Pet Friendly.”
Deploy on Azure or Render with a custom domain.
👨💻 Final Thoughts
This project taught me more than just coding—it taught me to debug, think like a user, and keep improving my product. I’m proud of how far it came and excited about what’s next!