Skip to content

A sudoku mobile app with sudoku image recognition and sudoku solver.

Notifications You must be signed in to change notification settings

wyhong3103/sudoku-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sudoku App


This sudoku app is a remake of the sudoku web app that I built using Vanilla JS 2 years ago with some new functionalities.

The main objective for building this app is to learn and apply things that I am interested in and have never done before, such as building a mobile app (React Native), implementing a CI/CD pipeline (GitHub Actions), containerizing an application (Docker), deploying a container in the cloud (AWS ECS & ECR), making a sudoku recognizer (OpenCV + PyTorch) and others.

It has been challenging to me because all of the things mentioned above were fairly new to me, so it was quite a lot to pick up and half of the time I spent was just on debugging alone. It's not the best-looking app nor the best-functioning app, but I am pretty content with it.

The Hows

  • The sudoku recognition is based on one of my repository. Write-ups of the approach are included.
  • The sudoku solving/hinting algorithm is based on the algorithm I implemented in the previous sudoku app. It's a simple backtracking algorithm.

Tech Stack

  • Frontend: React Native, Ignite Boilerplate, JavaScript
  • Backend: OpenCV, PyTorch, Numpy, Flask, Pytest, Python
  • DevOps: GitHub Actions, AWS ECS & ECR, Docker

Local Development

If you wish to start a local development server and play around with this app, here are the instructions

  1. Clone this repository.
git clone git@github.com:wyhong3103/sudoku-app.git
  1. Change directory to the backend folder.
cd backend
  1. Install the backend dependencies.
pip install -r requirements.txt
  1. Start the backend server.
python app.py
  1. Change directory to the frontend folder. (Assuming you're currently in the backend folder)
cd ../frontend
  1. Install the frontend dependencies.
yarn
  1. Replace the backend API url in frontend/.env.
EXPO_PUBLIC_API_URL=http://192.168.0.175:3030
  1. Start the frontend expo app.
yarn start

Now you can either use an emulator or your phone to access the mobile app.

About

A sudoku mobile app with sudoku image recognition and sudoku solver.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published