Skip to content

1. Getting Started

nononoku edited this page Apr 18, 2023 · 29 revisions

Build and Run

Front End

After following the instructions for Getting Started with Android Development, clone the repository with git. To load all front end dependencies, sync the project with Gradle by going to File --> Sync Project. Then, follow the back end section to create a personal server. After you have a server URL, make sure to replace this line in PuzzleStore.kt.

If you're building Puzzle Pals for an emulator, make sure to have an emulator that has the play store enabled. With your new server, add the certificate to your device.

Back End

To create your personal server, follow the AWS server setup with Python with Django. Next, initialize a python virtual environment and activate it with python3 -m venv env source env/bin/activate

Finally, install the following required dependencies in a virtual environment with pip install dependency_name:

  • opencv-python
  • numpy
  • imutils

Database

On the server, follow the instructions to create a PostgreSQL database on the backend, naming your database "puzzledb" instead of "chatterdb" and creating the user "puzzler" instead of "chatter." Connecting to the puzzledb database, as per the linked instructions, copy and paste the content of buildpuzzledb.sql into the terminal and submit it. You should now have a database that reflects the structure of our own.

Front End with Kotlin

Additional Third-Party Dependencies

Back End with Python

Additional Third-Party Back End Dependencies

  • opencv-python We use OpenCV's template Matching to search for the location of our puzzle piece in the puzzle image.
  • imutils We use imutils for image scaling to aid in template matching.
  • numpy We use numpy to aid with template matching.
  • PostgreSQL: We use PostgreSQL to manage our database, storing images and other important user information.