Fludoku was written as a phase 3 project in the Flatiron School Software Engineering program as a Single-page Web-app with a Ruby on Rails API backend. The backend API can be found at Fludoku-back-end on GitHub.
Fludoku uses a backtracking algorithm to generate randomized Sudoku games of a difficulty specified by the user. Information about how this algorithm functions can be found in this blog post: "Generating & Solving Sudoku using Backtracking"
Within the app, a user can sign in using their name. There is no current Auth implemented. If a username mathcing the entered text has been saved to the database previously, their games will be loaded. If the username does not exist, a new user will be created.
Once logged in, a user can start new Sudoku games, save their progress, get hints, and solve their boards. If a user had previously started games, they will be able to load them from the initial menu as well.
A scoring system has been implemented:
- For each correctly answered value, 1 point is earned.
- For each hint used, or incorrect value, 1 point is lost.
- If a board is successfully completed, bonus points equal to the number of holes originally in the starting board will be earned.
As a user earns points, the will rank up:
- Black Belt = 5000+ points
- Brown Belt = 3000+ points
- Green Belt = 2000+ points
- Purple Belt = 1000+ points
- Blue Belt = 500+ points
- Red Belt = 200+ points
- White Belt = under 200 points
- Fork and clone this repo
- Fork and clone the back-end repo
- Follow the instructions in the backend Readme to start the necessary API
- Once the server has been started and is running on http://localhost:3000,
cd
into the cloned front-end directory. - Open
index.html
by runningopen index.html
in the terminal, or other preferred method.
Pull requests are welcome. Please make sure that your PR is well-scoped. For major changes, please open an issue first to discuss what you would like to change.
Daniel Sasse | Josh Frank |