christianonoh / vecs-school-backend

This repo contains the backend system for VECS School's course booking platform. The system is designed to facilitate the booking of courses by allowing users to specify their city and preferred dates. It provides a set of robust and well-documented endpoints that enable seamless communication between the frontend applications & the backend server.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

logo
πŸ“— Table of Contents

πŸ“šπŸ’»πŸŒ VECS SCHOOL BACKEND

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..

πŸ›  Built With

Tech Stack

Backend
Database
Authentication
  • JWT-based authentication
Documentation

Key Features

  • 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.

(back to top)

liveDemo

πŸš€ Live Demo

  • Check out VECS SCHOOL app here.

(back to top)

πŸš€ Link to Frontend

  • Check out VECS SCHOOL frontend app here.

(back to top)

πŸš€ Link to Kanban Board

  • Check out our kanban board here.

  • Check out our initial kanban board Here

(back to top)

πŸ’» Getting Started

To get a local copy up and running, follow these steps.

Prerequisites

Ensure you have Ruby installed on your system. You can check by running the code below in your terminal.

  ruby --version

Setup

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.

Install

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 and config/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

Usage

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.

Running Tests

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.

(back to top)

πŸš€ Team members

  • Final number of team members: 4. Details on Authors

πŸ‘₯ Authors

πŸ‘€ Christian Onoh

πŸ‘€ Vitoesi Elijah

πŸ‘€ Vanessa Oliveros Padron

πŸ‘€ Santiago Munoz

(back to top)

πŸ”­ Future Features

  • 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..

(back to top)

🀝 Contributing

We're committed to continuously improving VECS School. If you encounter any issues or have suggestions for improvement, please submit an issue.

(back to top)

⭐️ Show your support

If you like this project please give it a star ⭐️. Thanks for your support!

(back to top)

πŸ™ Acknowledgments

Thanks to all the VECS School contributors/team.

(back to top)

πŸ“ License

This project is MIT licensed.

(back to top)

About

This repo contains the backend system for VECS School's course booking platform. The system is designed to facilitate the booking of courses by allowing users to specify their city and preferred dates. It provides a set of robust and well-documented endpoints that enable seamless communication between the frontend applications & the backend server.

License:MIT License


Languages

Language:Ruby 99.7%Language:HTML 0.3%