A cloud-native RESTful API for managing businesses, owners, and user reviews.
Built with Flask, deployed on Google App Engine, and powered by Google Cloud Datastore.
You can access the live API here:
Business Routes:
POST /businesses— Create a businessGET /businesses— List all businessesGET /businesses/:business_id— Retrieve a businessPUT /businesses/:business_id— Update a businessDELETE /businesses/:business_id— Delete a business and associated reviewsGET /owners/:owner_id/businesses— List all businesses by an owner
Review Routes:
POST /reviews— Submit a review for a businessGET /reviews/:review_id— Retrieve a reviewPUT /reviews/:review_id— Edit a reviewDELETE /reviews/:review_id— Delete a reviewGET /users/:user_id/reviews— List all reviews by a user
- Backend: Python 3.11, Flask
- Database: Google Cloud Datastore (Firestore in Datastore mode)
- Deployment: Google App Engine (Standard Environment)
- Testing: Postman + Newman (Full API Test Suite)
To run this project locally:
- Clone this repository:
git clone https://github.com/crandquist/LocalVibe-API
cd localvibe-api- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate- Install dependencies:
pip install -r requirements.txt- Set your Google Cloud credentials (for local Datastore access)
export GOOGLE_APPLICATION_CREDENTIALS="path/to/your-keyfile.json"- Run the app:
python main.pyThe API will be available at http://127.0.0.1:8080/
To deploy to Google Cloud Platform:
gcloud app deploy(Requires Google Cloud SDK and authenticated account.)
This project is released under the MIT License.
Created by Cat Randquist — Feel free to connect with me on LinkedIn or check out my portfolio at catrandquist.com.