Skip to content

Latest commit

 

History

History
250 lines (170 loc) · 7.7 KB

README.md

File metadata and controls

250 lines (170 loc) · 7.7 KB

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)