| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
This RESTFUL API works as the backend for a React web app. The dockerized container of the app is currently hosted on Railway. All images are hosted in Cloudinary.
Expert Class API is the backend for a fully responsive web app that I built with a team of 4 members. The front end of the app is handled separately by another app. The repo for the front-end is here. The API documentation of this project was generated with the 'rswag' gem. We built request and integration tests, achieving a 95% coverage. We use cross-site session cookies to handle user authentication. We use PostgreSQL as the database and Cloudinary to store all images in the cloud.
We used Rswag to generate all the API documentation directly from our tests. You will find all the endpoints necessary to use our API here: Documentation
Deployed to Railway: Live Demo
Watch a quick demo and walk-through of this project:
Expert Class - 13 January 2022 - Watch Video
We used an agile methodology to manage all the tasks in this project. This project's tasks are described in this kanban board.
We used GitHub's built-in Kanban board:

To get a local copy up and running, follow these simple example steps.
git clone git@github.com:StarSheriff2/expert-class.git
Now go to either the "Docker Deploy" or the "Local Deployt" section, depending on how you wish to deploy the API in your system.
You will need a Cloudinary account to be able to deploy this app locally or through Docker. If you already have one, look for the API Environment variable, which you will find in your cloudinary dashboard:
- for a Docker deployment, copy the API Environment variable into your .env file:
CLOUDINARY_URL=<your_unique_cloudinary_url>
- for a local deployment, copy the API Environment variable into your config/cloudinary.rb file, by replacing the text "<cloudinary_url_here>" with the respective value of your API Environment variable
; otherwise, create a new account by going to Cloudinary and sign up for a free account: https://cloudinary.com/.
Once you have your new Cloudinary account set up, follow these steps:

docker compose up -dbundle install
Run
bin/rails db:setupThis will create your local databases, load the schema, and initialize with the seed data.
Note: If you get an error after running this command, it might be because you don't have a database called "postgres". This happens because when you create a new Rails application, Rails uses this "postgres" database to create and manage the databases for your application. You can easily create one by running this command:
createdb postgresIf Rails still complains about not finding the "postgres" role, you can create one with super-user priviledges:
createuser -s postgresNow try running the db:setup command again!
You are all set now!
In your terminal, run
bin/rails serverwhile inside the root directory of the repository files
Note: This command will not stop on its own. To exit, hit "ctrl + c"
The app allows API calls using curl or your favorite API client, such as Postman, HTTPPie or VS Code's Thunder Client. Here's a link to HTTPIE.
We created all types of tests for this project:
To run all tests, type this into command line:
bundle exec rspecTo run Rubocop, go to the root directory of your repository and copy/paste the following command into your terminal:
rubocop .
👤 Arturo Alvarez
👤 Breno Xavier
👤 Francis Uloko
👤 Mih Julius
Contributions, issues, and feature requests are welcome!
Feel free to check the issues page.
Give a ⭐️ if you like this project!
This project is MIT licensed.
| Back | FazBrowse Home | New Git URL |