• +1 (613) 793-4672
  • jobs@stemworldeducationalservices.com
  • Nepean, Ontario, Canada

Project overview

Our team project Pizza, One, Two, Three! is an educational mobile game helping students of grade 1~3 understanding basic concept of fractions. The main objective of this game is making students enjoy the learning process during math studying session and enhance what they learn while applying the course material to real-life-like experience. Students also are able to continue gaming until whenever they want to stop playing by infinite mode and students and teachers can use the result of the game provided via students’ email as a method for feedback of the fraction lesson.

Goal of the game

The goal of the game is earning $900 for 7 days by serving pizza slices. Customers place their own order every day and the player has to set toppings correctly and slice each of pizzas correctly to earn money as much as possible.

Overall features of the game

Start page

Registration page

Login page

Game Tutorial page

In-Game activity 1

In-Game activity 2

Result page

Level Alert page

Win or loss page

Game Result summary via email

Jai Yeon Choi’s Task (Game FullStack part)

  • Setting up program Coding collaboration environment
  • Building basic backend structure
  • Database configuration
  • Testing prototype LoginUI and backend
  • Building backend for game data
  • Building prototype frontend for game data
  • Building Save & Load System of app
  • Implanting frontend code to actual UI and testing LoginUI and DB updates
  • Deploying backend on app server and testing
  • Building APK and testing app
  • Changing data format
  • Adding Email API
  • Adjusting few settings for latest game UI
  • Fixing Bugs

Flowchart of Login system and data flow

Login system flowchart and Dataflow

Backend(Node.js run by Heroku)

  • Account Creator
    • New Account is created when there is no information matched in database.
    • RESTful API is applied.
  • Mongoose
    • This package connects the account creator to the database and sends the account info in the JSON format to database.
  • Nodemailer
    • This package is email API which automatically creates and sends the email to certain address.

Frontend(Unity)

  • Login UI
    • The UI interacts with users and it sends user info to backend.
  • Save & Load file
    • Before the frontend sends user information to backend, in order to detect the account to update, the backend need saved user information. This system temporarily creates a file that saves in-game user information and also loads the user info from the file.
    • It saves the user information twice during one iteration of game task: when a new account is created or an account info is reset and when game score and achievement for each score are updated.

Database(MongoDB Altas)

  • User data
    • The database stores user data in JSON format.

Gantt Chart