Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Web app using Django and an Android app #26

Open
wants to merge 27 commits into
base: master
Choose a base branch
from

Conversation

ymittal
Copy link

@ymittal ymittal commented Jan 25, 2017

Hello @prajwalkr,

Thanks for a great project. I really wanted to see how far I can go with extending this Python app to a mobile application. This PR (inspired by #3) includes a basic Android application which utilizes an API to solve a Sudoku by clicking its picture. I used Django to create the API endpoint sudoku/solve/. To use your code, I had to refactor a few functions. Rest assured, your code still works for anyone who wants to experiment with just the Python scripts.

I acknowledge that I have made a lot of changes to the fork, but I have tried my best to include informative READMEs to avoid confusion. Please let me know what you think and feel free to recommend any changes or ask any questions you may have.

Thank you! 😄

@cclauss
Copy link
Contributor

cclauss commented Feb 3, 2017

Hi @ymittal This is a cool idea but tons of file changes. ;-) I could not really find/understand the API that you speak of. Are you solving the sudoku on the Android device or are you connecting to a server that is solving the sudoku remotely. If the former, then what are the hardware / RAM requirements on the Android? If the latter, it might be easier to consume all these changes if you created a separate repo called SnapSudokuAndroid that just included the mobile app. This repo could then remain focused on the server side of the equation.

@ymittal
Copy link
Author

ymittal commented Feb 4, 2017

Hi @cclauss, definitely understandable! Though most of the new files are for Android. I am solving the sudoku by requesting a server. The main API code can be found in SnapSudoku/sudoku/views.py. I can move the Android app to a different branch on my repository, but really all of Android code is in the android folder. What are your thoughts, @prajwalkr?

@prajwalkr
Copy link
Owner

Hi @ymittal,
The neural network used to classify digits is not good enough for real life images. I had implemented this project with a vanilla neural network so that I did not need to include any 3rd party libraries. To implement this project for real life images, we need to move on to Convolutional Neural Network, using Keras (Python library).
Further, have you implemented the Django app such that SnapSudoku can just be used as a module that is just imported and called?

@cclauss
Copy link
Contributor

cclauss commented Feb 6, 2017

Can Keras be run on a mobile phone? Seems doable but difficult/ limited... http://talc1.loria.fr/users/cerisara/posts/tflow/

My sense is that for now the client / server model is the best approach. This means that we have three or four code bases to create / manage:

  1. SnapSudoku - the image to solved puzzle conversion module running in the server
  2. The Django server that acccepts images from clients and returns to them solved puzzles
  3. Android client app
  4. iOS client app

@ymittal
Copy link
Author

ymittal commented Feb 7, 2017

Hi @prajwalkr,

I have not. It's definitely a good idea though. What else, if anything, would you like changed?

@ymittal
Copy link
Author

ymittal commented Feb 9, 2017

@prajwalkr, done! Please have a look at the latest project structure.

@ymittal
Copy link
Author

ymittal commented Apr 1, 2017

@prajwalkr @cclauss are we moving forward?

@Siddhant-K-code
Copy link

@prajwalkr, any update on commits done by @ymittal ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants