// REST API & Web Application

CafeConnect.

A platform for remote workers to discover workspace cafes, powered by a fully documented RESTful API featuring JWT authentication and Role-Based Access Control.

CafeConnect running on three phones: cafe detail, home, and amenities with map

The Objective

Finding a reliable cafe to work from is a gamble; you need to know about WiFi speeds and power outlets before you arrive. I designed CafeConnect as a fully operational proof-of-concept. While the cafe listings themselves are sample data, the entire full-stack loop from secure JWT authentication to dynamic UI rendering is actively functioning. My primary objective was to use this sandbox to build a production-ready REST API from scratch using Python and Flask.

Security & RBAC

Because this project was a sandbox for testing backend security, I implemented a strict Role-Based Access Control (RBAC) system. While any authenticated user can submit a new cafe, destructive actions (like PUT updates and DELETE requests) are secured behind an Admin-only JWT layer, ensuring data integrity across the platform.

Technical Stack

Backend FrameworkPython / Flask
API ArchitectureFlask-RESTful
Database & ORMSQLite / SQLAlchemy
AuthenticationJWT / Flask-Login

Core API Endpoints

GET/api/cafesRequires Auth: Bearer Token
POST/api/cafesRequires Auth: Bearer Token
PUT/api/cafes/<id>Requires Auth: Admin Only
DELETE/api/cafes/<id>Requires Auth: Admin Only

Product Tour

CafeConnect landing page in a browser window
// The Landing Page
Browsing and filtering the cafe directory
// Browse & Filter
Browsing cafes by city
// Browse by City
A single cafe detail view with amenities and location
// Cafe Detail
Ratings and reviews with a leave-a-review form
// Ratings & Reviews
The add-a-cafe contribution form
// Add a Cafe
Back to Portfolio

© 2026 Kobby S. Arthur. All rights reserved.