Thunderdome meets Hearthstone Arena meets Chess...it's CHESS QUEST! Online chess, except you play your next game with just the pieces you last won with. How far will your quest take you?
Report Bug
·
Request Feature
Table of Contents
Welcome to Chess Quest! This repository contains our frontend Rails app. This app makes calls to the backend Rails API, which makes use of a Sinatra microservice to retrieve data from the Chess.com API.
This project is deployed on Heroku here
- Ruby on Rails
- Sinatra
- PostgreSQL
- Bootstrap
- JQuery
- RSpec
- Travis CI
- JavaScript
- OAuth - Google OAuth was chosen for the Chess Quest MVP as a means to keep the barriers to entry low (google is quite common)
The team utilized a github project board to organize project issues and cooridnate workflow across 7 members and 3 repositories.
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated. We hope that users provide input to improve their experience and that of others.
-
Ruby 2.5.3
-
Rails 5.2.4.3
- Fork the Project
- If you don't have yarn installed locally, you can use Homebrew:
brew install yarn
- Run
yarn
to install the chessboard.js and chess.js libraries. - Set up the rails database `rails db:{create,migrate}
- Run
rake assets:precompile
to compile the chess-related assets- This allows these assets to be compiled and cached up front rather than compiled every time the app boots
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
The Chess.js and Chessboard.js documentation can be referenced for additional chessboard methods and examples of implementation, respectively
This application allows a visitor to play a practice chess game or log-in via Google OAuth to start a quest.
After authenticating, we allow users to:
- Naviagte to the user Dashboard to:
- View their curent and complete quests
- View their current and past games
- View relevant user stats
- Start a quest via the dashboard if there is not one ongoing
- Start a game via the dashboard if there is not one ongoing
- For a quest's first game, users can select (via a dropdown) to start with all their pieces, in "classic mode" or to start using a board from a selection of famous chess players
- Within the Gameplay page, users are able to play a game to completion
- The Chess Quest MVP allows for PvC only
Distributed under the MIT License. See LICENSE
for more information.
Project Link: https://github.com/chessquest/chess-quest-web
See the open issues for a list of proposed features (and known issues).