Skip to content

A location-based gaming app that helps users to find their target location with the help of directions.

Notifications You must be signed in to change notification settings

baskharm/fsa-group4

Repository files navigation

Game of Treasures Website shields.io

Project on location-based gaming App. It is a full stack gaming application which progresses with directions.

Group Members


Rajeshwari Rudravaram

💻 linkedin

Bhaskharm

💻 linkedin

Full Stack App

  • A touch-based gaming app, where a user will find the target location with the help of directions provide by the app with respect to User location.
  • If a user touches or clicks the first color of app then it provides a valid treasure location from the given set of locations.
  • If a user touches or clicks repeatedly on second color then the device compares the current location coordinates with the target location and tells the user whether they are inside or outside the treasure location.
  • If a user is far from target location then, User will hear and see the directions in which he/she needs to move to reach the treasure location.
  • Finally, when user reaches the destination then the user will hear and see the confirmation of reaching the selected treasure location.

Stack

  • Platform: Node(Version - v15.1.0)
  • Web Framework : Express
  • View engine : EJS
  • ORM(Object Relational Mapping) : Sequelize
  • Data store: PostgreSQL
  • API : Google Maps
  • Coding standards : Enforce AirBnB/Prettier/ESlint

CI/CD

  • Auto-deploy from main repo is required.

Prerequisites

  • Node.js(comes with npm)
  • GitHub
  • TortoiseGit
  • VS Code

Development of App

  • Data store for Development: PostgreSQL

Hosted App Link:

Heroku hosted app link

Project

User Stories

  1. As a player, I want to touch/click the first color to request a valid (treasure) location.
  2. As a player, I want to hear confirmation that a location has been selected (so I can I can begin searching).
  3. As a player, I want to touch/click the second color: If I am outside the treasure location, I want to hear information to help me find the treasure location (clue? how far away? what direction to walk?)
  4. As a player, I want to touch/click the second color: If I am inside the treasure location, I want to hear and see confirmation that I have earned this treasure.
  5. As a player, after confirmation that I have earned a location, I can start a new game again.

CRUD operations for Location

  • User can enable all CRUD options (create, read, update, delete,list) on locations.
    • create.ejs
    • delete.ejs
    • details.ejs
    • edit.ejs
    • index.ejs
    • list.ejs
  • Locations are based on circles.

Guidelines to Contribute

  • In order to get someone's repo into your local machine you should first fork it into repo then Clone it to your local machine.

Step 1 - To get the fresh code

  1. Everytime you should pull the fresh code from shared cloud repo and then add or modify the code then commit it by using git add and git push commands below line interface
  2. Update your cloud repo by using git add and git push commands in command .
git clone "https://github.com/Bhaskar2909/fsa-group4"
git pull 
git add .
git push

Step 2 - Make your contributions

You can test the code by formatting it with Prettier and lint (clean it up) with ESLint. You can check the scripts in package.json.

  • Add required dependencies by installing them.
  1. While code is fresh, make your local edits.
  2. Verify the app still runs & standarize your code.
npm install
npm run start

npm run prettier
npm run lint
npm run lint-fix

Fix your code as suggested by the linter.

Step 3 - To save and share your work

  1. Git add & git commit locally.
  2. Git push to the origin.
  3. In your updated GitHub repo look for "Pull Request".

Step 4 - Refresh the code before making any new contributions

  1. Git pull from shared repo to your local machine
  2. Git add by new files from root folder on down (git add .)
  3. Git push to your origin repo (your forked repo in the cloud)
git pull "https://github.com/Bhaskar2909/fsa-group4.git"
git add .
git push

Start Options

Start the app by running npm run start. Until error handling is complete, a clean shutdown is better. Once error handling is complete, use npm run dev to start with nodemon. In order to update the code and see the changes evrytime locally then use the command "npm run dev" .

npm run start

View the application locally at http://localhost:3000/

To Publish an App

  • Data store for production: PostgreSQL

References

Remainders

  • Avoid spaces in folders and file names.
  • Don't work on stale code - "ALWAYS PULL FIRST"
  • Repo name has to be unique. and use lower case for naming convention.
  • Don't work on your desktop - organize your repos either by class or under a common folder (e.g., github or other).
  • Deploy as you work - if everything passes tests, do add / commit / push and deploy frequently (several times a week).
  • Do hard things early. Do not delay figuring out the hard questions.
  • While adding or creating a new location, add the valid cordinates for the latitude and longitude.

Releases

No releases published

Packages

No packages published