Embark on a mind-bending journey with our sleek and minimalistic escape room app. Featuring five captivating puzzles, you can challenge your wits alone or collaborate with friends to crack the codes and unravel the mysteries together. Get ready to unlock the door to adventure and test your problem-solving skills in the world of EscapeLink!
Table of Contents
EscapeLink is a SOA app and needs both this backend repo AND (front-end) in order to be fully functioning.
This project is built to satisfy the requirements of the Turing School of Software and Design's Capstone Project, where students come up with their own idea for an application and build it as a group project.
This application is designed for those who enjoy standard escape rooms, as well as those who appreciate puzzle and problem-solving games.
After being debriefed on the current mission, users have the option to either team up with others or embark on a solo adventure in EscapeLink. Once every team member is prepared to start the game, they are taken into the escape room, where they are presented with an intuitive and user-friendly interface that contains a handful of hidden puzzles.
- Rails 7.0.8
- Ruby 3.2.2
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
To get a local copy, follow these simple instructions
- Fork the project
- Clone the repo
git clone [email protected]:your_username/escapelink-be.git
- Install the gems
bundle install
- Create the database
rails db:{create,migrate}
- Create your feature branch
git checkout -b feature/AmazingFeature
- Commit your changes
git commit -m "add AmazingFeature"
- Push to the branch
git push origin feature/AmazingFeature
- Open a pull request
POST 'api/v0/games'
KEY: 'room_name'
VALUE: 'Where's Bob?'
(creates a game and returns a unique link)
POST 'api/v0/messages'
(creates and broadcasts a new message via websockets)
GET 'api/v0/leaderboards'
KEY: 'room_id'
VALUE: '1'
(accesses leaderboard data and returns the top ten of a given escape room)
Example data:
[
{
"id": 18,
"game_name": "wicked-coffee-Clefable",
"time_seconds": 1950,
"created_at": "2023-11-13T07:20:29.224Z",
"updated_at": "2023-11-13T07:20:29.224Z",
"room_id": 1
},
{
"id": 3,
"game_name": "sore-coral-Zubat",
"time_seconds": 3600,
"created_at": "2023-10-23T00:44:05.901Z",
"updated_at": "2023-10-23T00:44:05.901Z",
"room_id": 1
}...
]