← Back to Projects
MkViewer - Coffee And Wifi [Read-Only]
Initializing MkViewer...
README.md

Project 62 – Cafe & Wifi Finder ☕

(README GENERATED BY AI)

A Flask web application that lets users view, add, and rate cafes based on WiFi quality, coffee quality, and power outlet availability. Perfect for students, developers, and remote workers looking for a productive place to work.


🚀 Features

  • 📋 View a list of cafes stored in a CSV file
  • ➕ Add new cafes using a validated web form
  • 🛜 Rate WiFi strength using emojis
  • ☕ Rate coffee quality
  • 🔌 Rate power outlet availability
  • 📍 Store Google Maps location links
  • ⏰ Track opening and closing times
  • 🎨 Styled using Flask-Bootstrap

🧠 Tech Stack

  • Python
  • Flask
  • Flask-WTF
  • WTForms
  • Flask-Bootstrap
  • CSV for lightweight data storage

📁 Project Structure

. ├── main.py ├── cafe-data.csv ├── templates/ │ ├── index.html │ ├── cafes.html │ └── add.html └── static/


📝 Form Fields

The cafe submission form includes:

  • Cafe Name
  • Google Maps Location URL (validated)
  • Opening Time
  • Closing Time
  • WiFi Rating (0–5 🛜)
  • Coffee Rating (0–5 ☕️)
  • Power Outlet Rating (0–5 🔌)

All fields are required and validated before submission.


▶️ How to Run the App

1. Install dependencies

bash pip install flask flask-wtf flask-bootstrap

2. Run the application

bash python main.py

3. Open in browser

http://127.0.0.1:5000


📊 Routes Overview

| Route | Description | | -------- | ------------------------------- | | / | Home page | | /cafes | Displays all cafes from the CSV | | /add | Form to add a new cafe |


⚠️ Notes

  • Data is stored in cafe-data.csv
  • The app runs in debug mode (recommended to disable in production)
  • Secret keys should be moved to environment variables for security

🌱 Possible Improvements

  • Switch from CSV to a database (SQLite / PostgreSQL)
  • Add edit & delete functionality
  • User authentication
  • Search & filter cafes
  • Map integration

📌 Author

Created by Mythresh K. Built as part of Project 62 while learning Flask & form handling.