Project on location-based gaming App. It is a full stack gaming application which progresses with directions.
Rajeshwari Rudravaram 💻 |
Bhaskharm 💻 |
- 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.
- 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
- Auto-deploy from main repo is required.
- Node.js(comes with npm)
- GitHub
- TortoiseGit
- VS Code
- Data store for Development: PostgreSQL
- As a player, I want to touch/click the first color to request a valid (treasure) location.
- As a player, I want to hear confirmation that a location has been selected (so I can I can begin searching).
- 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?)
- 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.
- As a player, after confirmation that I have earned a location, I can start a new game again.
- 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.
- 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.
- 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
- 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
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.
- While code is fresh, make your local edits.
- 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.
- Git add & git commit locally.
- Git push to the origin.
- In your updated GitHub repo look for "Pull Request".
- Git pull from shared repo to your local machine
- Git add by new files from root folder on down (git add .)
- 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 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/
- Data store for production: PostgreSQL
- 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.