Giter Site home page Giter Site logo

esportgamingcenter_backend's Introduction


Esport Gaming Center

πŸ“— Table of Contents

πŸ“–πŸš— Esport Gaming Center App

This project involves developing an eSports reservation system with two distinct parts: the Backend, developed using Ruby on Rails, and the Frontend, built with React. This system aims to cater to eSports players, allowing them to reserve games, manage reservations, and access a catalog of available games. Click on the link[https://github.com/cancelei/EsportGamingCenter_frontend] to navigate to the backend of our APP.

πŸ›  Built With

Tech Stack

List of technologies used for this project

BackEnd
Front-end/View
Front-end/Store management
Database

Key Features

  • Create and Remove Games
  • Create Reservations
  • Full stack webpage
  • Can see all the list of reservation of current user
  • Details of every game in db
  • Log in and Sign up feature

(back to top)

πŸš€ Live Demo

Under Construction πŸ’»πŸ“²

(back to top)

🎫 Kanban Board

(back to top)

πŸ’» Getting Started

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

Prerequisites

In order to run this project you need:

you need to install ruby 3.2.2 using the prefer tool, example:

  • rvm

  • rbenv

  • asdf-vm

  • Browser (Google Chrome, Mozilla Firefox, Safari or any other browser)

Setup

Clone this repository to your desired folder:

  cd my-folder
  git clone https://github.com/cancelei/EsportGamingCenter_backend.git

Install

Install this project with:

  cd EsportGamingCenter_backend
  bundle install
  npm install

Usage

To run the project, execute the following command:

./bin/dev

Note: If there are any errors consider adding your necesary username and password in database.yml for setting up your local enviroment and use the following comand:

rails db:drop db:create db:migrate
./bin/dev

Then, you have to create in the root of the project a .env file:

Alt text

, inside of that file, you must put the following code:

DB_USER = 'postgress_database_user' Note: this it has to be as string ''
DB_PSW = 'postgress_database_user_password' Note: this it has to be as string ''
DB_PORT = your_postgress_port Note: this it has to be as an integer
DB_NAME_DEV = 'name_of_your_DB' Note: this it has to be as string ''
DB_NAME_TEST ='name_of_your_DB_test' Note: this it has to be as string ''

Example:

DB_USER = 'luis'
DB_PSW = 'luis123'
DB_PORT = 5432
DB_NAME_DEV = 'gaming'
DB_NAME_TEST ='gaming_test'

Alt text

Run tests

To run tests, run the following command:

rake rswag:specs:swaggerize

(back to top)

πŸ‘₯ Authors

πŸ‘¨πŸΌβ€πŸš€ Juan Diego Guerra (JD) πŸ‘½

πŸ‘€ Gardimy Charles πŸ±β€πŸ‘€

πŸ‘€ Luis Emilio Rojas Rojas

πŸ‘¨πŸΌβ€πŸš€ Abel Lavieri πŸ§™πŸΌβ€β™‚οΈ

πŸ‘¨πŸΌβ€πŸš€ Glauber Bannwart πŸ¦ΈπŸΌβ€β™‚οΈ

(back to top)

πŸ”­ Future Features

  • Improve UI
  • Add more functionalities
  • Add more details on reservation list

(back to top)

🀝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

(back to top)

⭐️ Show your support

If you like this project,please give it a ⭐️!

(back to top)

πŸ™ Acknowledgments

We would like to thank Microverse for giving us the opportunity to learn and grow as developers and also We like to thank our family, they are all our support. 🌟

Original design idea by Murat Korkmaz on Behance.

(back to top)

❓ FAQ

  • Do I need to install any program before running this project?

    • Yes, you need to install Ruby

  • Can I use this project for my own purposes?

    • Yes, you can.

(back to top)

πŸ“ License

This project is MIT licensed.

(back to top)

esportgamingcenter_backend's People

Contributors

gardimy avatar lerfast avatar alvp01 avatar cancelei avatar juandiegoguerra avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

alvp01 lerfast

esportgamingcenter_backend's Issues

[2pt] Individual Task - Reserve from Navigation.

  • When a user clicks the Reserve (in the nav bar) he should be prompted to the form where just his email is already selected (hardcoded).
  • Form fields: email, Game, Setup_config, and Date (MM/DD/YYYY).
  • The user should be able to select all available games from the list.
  • The expected result is that a new Reservation appears in the Reservations List.

[2pt] Individual Task - Navigation Panel

You will develop a nav bar reviewing all of the already implemented routes, and create links to redirect users to the different views available.

  • Includes links to:
    • Game Catalog (carrousel)
    • Games List (list for Admins to add and delete)
    • Reserve (form)
    • Reservations (list)
    • Sign Out

[2pt] Individual Task - Implement Restriction for Admin-Exclusive Access

  • Ensure that the β€˜Game List’ view and methods 'Add Game' and 'Delete Game' are accessible only to users with admin privileges.
  • Validate if a User can delete his own reservations.
  • Validate if a User can create his own reservations.
  • Validate if the user and the admin have different permissions related to adding and deleting games. Important: A user shouldn’t be able to delete or add a new Game to the Catalog.

[2pt] Individual Task - Reserve from Detail Page

  • When a user goes to the β€˜Game Detail Page’ and clicks on the Reserve Button, he should be prompted to the form where his email and the selected game are β€œhardcoded” on the form.
  • The expected result is that a new Reservation appear in the Reservations List.

[2pt] Individual Task - Adding New Game

  • A form is accessible via the navigation panel for adding new games to the catalog.
  • After adding an item with complete information needed according to the data base schema shared on 11/29/2023. The new Game should appear in the Catalog of Games.
  • This task will have code implementation on the controller, model and view.
  • An added game should appear in the Catalog Page and the Game List page.

[2pt] Group Task #6 - User Authentication and Login

  • Users log in via a simple interface, inputting only their username. The user table should have Full Name, email and let Devise gem create the remaining user table-related information.

  • Expected result after filling in the β€˜Sign In’ form, the user should be redirected to the Catalog Page.

[2pt] Individual Task - Game Detail Page

  • Features a full description of the selected game.
  • Includes a 'Reserve' button to book the game.
  • This task will have code implementation on the controller, model, and view.
  • Use each game in the catalog as link to the correct Detail Page for that Game.

[1pt] Group Task #3 - Fix Linter Issues

Each person will fix linter errors of their respective tasks when this task is started.

Optional:

  • Unit Test (Models, Controllers and Views)
  • Integration Test (For user interactions)

[2pt] Individual Task - Games List

  • Create a list of all games that are available. For now, just the basic structure is needed.
  • It should make all the games that are available in the Catalog appear here in List format, so in future tasks, we will transform it into an β€œAdmin-related feature”.

[2pt] Individual Task - Deletion of Games

  • When navigating in the Games List with all games each row will have an add a 'Delete' button.
  • This task will have code implementation on the controller, model and view.
  • Expected Result: A deleted game should disappear from the Catalog Page and the Game List page.

[2pt] Individual Task - Game Catalog

  • You will create a carousel that displays a Catalog of all Games available. (With name, short details, and genre).
  • Displays a carousel view of available games.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.