This project was developed by Brian Fletcher, Caroline Tan, Ezzedine Alwafai, Gunnar Runkle, Scott Borecki, and Taylor Varoglu during Mod 3 of Turing School's Back End Engineering Program.
Created from scratch and deployed to Heroku in a short period of 10 days, this project consists of a Ruby on Rails web application utilizing a service-oriented architecture. The front-end and back-end applications were both built in Rails. The front end communicates with the back end through an API. The back-end application houses the application database, authenticates users with Google OAuth 2.0, and consumes a third-party Yelp API.
The project description and base requirements can be found here
⭐ Create a project with a separate front-end and back-end
⭐ Use Rails to create web pages that allow users to CRUD resources
⭐ Use an external OAuth provider to authenticate users
⭐ Build APIs that return JSON responses
⭐ Consume two or more external APIs which require authentication
⭐ Create instance and class methods on a Rails model that use ActiveRecord methods and helpers
⭐ Write model and feature tests that fully cover data logic and potential user behavior
⭐ Implement a self-referential relationship in ActiveRecord
⭐ Utilize Continuous Integration via CircleCI
⭐ Deploy to Heroku
⭐ Implement a production-quality user interface using Bootstrap or other common CSS styling framework
⭐ Implement agile project management via Kanban boards, daily stand-ups, and team retros
⭐ Utilize quality workflow practices: small commits, descriptive pull requests, and code reviews
⭐ Organize and refactor code to be more maintainable
⭐ Apply RuboCop’s style guide for code quality
⭐ Write thorough, understandable documentation
The base path
of each endpoint is:
https://spotme-app-api.herokuapp.com/api/v1
GET
requests, you can send the endpoint requests through your internet browser, or utilize an API client (i.e. Postman)POST
, PATCH
, DELETE
), you will need to use an API client to provide the required request bodyThe following table presents each API endpoint and its associated documentation
GET
requests, an example link is provided for demonstration purposes Users | Docs | Examples |
---|---|---|
Find User by Google ID | docs | example |
Get User by User ID | docs | example |
Create New User | docs | |
Update User | docs |
Friendships | Docs | Examples |
---|---|---|
Get User's Friends | docs | example |
Create New Friendship | docs | |
Delete Friendship | docs |
Events | Docs | Examples |
---|---|---|
Get User's Events | docs | example |
Create User New Event | docs | |
Delete Existing Event | docs |
Gym Members | Docs | Examples |
---|---|---|
Get Users at Gym | docs | example |
Get User's Gym Memberships | docs | |
Create Gym Membership | docs | |
Delete Gym Membership | docs |
Gym Search | Docs | Examples |
---|---|---|
Get Gyms Near User | docs | example |
Get Gym Show Page | docs | example |