📗 Table of Contents
Welcome to the backend repository of VECS School's course booking system. This API-only project, built with Ruby on Rails, powers the seamless booking of courses by enabling users to specify their city and preferred dates. It offers a comprehensive set of endpoints, ensuring efficient communication between frontend applications and the backend server..
Backend
Database
Authentication
- JWT-based authentication
Documentation
-
Course Booking: Users can browse available courses, specify their city, and choose preferred dates for course attendance..
-
Endpoint Documentation: Comprehensive API documentation is provided to guide frontend developers on how to interact with the backend.
-
User Authentication: Secure user authentication and authorization mechanisms are implemented to protect sensitive user data and interactions.
-
Scalability: Built with scalability in mind, the backend can handle a growing number of users and course offerings.
liveDemo
- Check out VECS SCHOOL app here.
- Check out VECS SCHOOL frontend app here.
To get a local copy up and running, follow these steps.
Ensure you have Ruby installed on your system. You can check by running the code below in your terminal.
ruby --version
Clone or download the VECS School repository to your local machine.
git clone https://github.com/christianonoh/vecs-school-backend.git
Open your terminal and navigate to the cloned project directory.
This project does not require additional dependencies, just Ruby interpreter. However, it uses Rubocop as a linter and you should set it up as well.
bundle install
Credentials Setup: Generate the master key.
- Delete the
config/credentials.yml.enc
file and run:
EDITOR="code --wait" rails credentials:edit
- This will generate new
config/master.key
andconfig/credentials.yml.enc
files.
Database Setup: Navigate to the project directory and set up the database.
- In case it's necessary, add your database credentials to the
config/database.yml
. - Run the following commands to create a database and run database migrations
rails db:create
rails db:migrate
rails db:seed
Start the Rails server to run the application locally.
rails server
Open your web browser and go to http://localhost:3000/api/v1/
and add an endpoint to access your desired data.
VECS School uses RSpec for testing. To run the tests, follow these steps:
-
Navigate to Project Directory: Make sure you are in the project directory (
vecs-school-backend
). -
Run Tests: Use the following command to run the tests.
bundle exec rspec spec/models
bundle exec rspec spec/controllers
- This will execute all the tests for the models and controllers directory and provide you with the results.
- Final number of team members: 4. Details on Authors
👤 Christian Onoh
- GitHub: @christianonoh
- Twitter: @onohchristian
- LinkedIn: Christian Onoh
👤 Vitoesi Elijah
- GitHub: @Ellyboi
- Twitter: @elijahvitoesi
- LinkedIn: @Elijah
👤 Vanessa Oliveros Padron
- GitHub: @vvoo21
- Twitter: @vaneoliverosp
- LinkedIn: vaneoliverosp
👤 Santiago Munoz
- GitHub: @smunoz
- Twitter: @twitterhandle
- LinkedIn: LinkedIn
- City and Date Filtering: Courses can be filtered based on city and available dates, ensuring users find courses that match their preferences.
- Feedback Mechanism: Users can provide feedback on courses they've attended, helping improve the overall course quality..
We're committed to continuously improving VECS School. If you encounter any issues or have suggestions for improvement, please submit an issue.
If you like this project please give it a star ⭐️. Thanks for your support!
Thanks to all the VECS School contributors/team.
This project is MIT licensed.