Giter Site home page Giter Site logo

the-hunt's Introduction

Instructions for cloning repository:

  • Steps for cloning repository using command line
    • On GitHub, navigate to the main page of the repository
    • Click "Code" on main page repository which is above the list of files.
    • Here we can clone using HTTPS and SSH.Click the respective tabs and copy the URL provided.
    • Now open Git Bash.(necessary tools should be installed)
    • Change the current working directory to the location where we want the cloned directory.
    • Type "git clone", and then paste the URL copied earlier.
    • Press "Enter" to create your local clone.

Note:

We can also clone the repository using github desktop.

Instructions to start the The-Hunt project

  • Steps for starting the cloned repository using the Powershell.
    • Open PS as admin using the Powershell in the-Hunt Folder.
    • Use "npm install" to install modules.
    • Use "npm run dev" to start a local version.
    • Open a browser to the URL provided in the powershell

Link: https://desktop.github.com/

Heroku Link:

Here is hosted link of our application on heroku.

https://hunt2020.herokuapp.com/

The-Hunt

“The Hunt game” is an outdoor collaborative game which allows the authorized users to play with other team members or to compete with other players in finding the hidden locations in a quest. We are designing this game in view that this is compatible with iPhone SE, Laptop, Tablet, and Android phones.

A first time user has to register in order to become a player in the game with the Open Authorization. After the user creates an account he can login into the account. The player will have options either to join a team or to create a team. In order to join a team an invitation will be sent to the users via mail. The invitation will be automatic rejection if the user does not respond to it within three days. A user can create a quest containing number of locations that can be identified by means of latitudes and longitudes. A team containing players will compete to find the locations within specified time period. The team which identifies maximum number of locations within quest gains maximum number of points and will be the winner.

Technology Stack

Considering requirements provided in RFP, we have put our effort in selecting proper technologies so that it check all our boxes mentioned by client.

Backend Language

Coming to backend language, we have decided to use Node.js as it is light-weight and efficient when it comes to real-time applications that should run across distributed devices like:

•	an iPhone SE
•	an Android device
•	a laptop computer
•	an iPad 

And Node.js offers an Easy Scalability and it is has been regarded as a full-stack JavaScript for serving both the client and the server-side applications.

The ability of Node. js to simultaneously handle multiple requests and provide prompt responses makes it an ideal solution for client-focused web app development. This runtime environment is found more frequently on single-page applications than any other backend technology

Frontend Language

Coming to Front-End, we have thought of using HTML, CSS and JavaScript. We have accessed factors like:

•	Expertise on Technology.
•	Available time to deliver.
•	Security.
•	Availability Of resources.

Apart from that, JavaScript seemed to be fast, responsive and thought it will be suitable for all platforms such as Android and IOS. Secondly, we are using Heroku application to deploy our application as this is open source and feasible to host.

BY using the above technologies there will be a Speedy Development and User-driven Outcomes and using the Using certain modern frameworks will enable faster development of elements

And it is very secure and it has a Quickly Reacting Features and Apps

Framework

Regarding frameworks, as per our client suggestion we thought of using NestJS. This will also help us to organize our code by providing a proper structure.

By using this framework it has Nestbuilding efficient and scalable Node. js server-side applications because it uses modern JavaScript, is built with TypeScript

API's

For accessing the location we have various API’s like Google Maps and Mapbox. Here in this application we thought of using Google Maps. And for authentication and authorization purpose we are thought of using Open authorization.

Testing:

Here for testing we are using Cypress. Cypress is purely javascript based front end testing tool.

Using Cypress, developers can create:

Unit tests Integration tests End to End tests

Application Architecture Understanding

Reminders

  1. No spaces in folders and file names.
  2. Don't work on stale code - ALWAYS pull first
  3. Don't work on your desktop - organize your repos either by class or under a common folder (e.g., github or other).
  4. Deploy as you work - if everything passes tests, we want to add / commit / push and deploy frequently (several times a week). We should see your app develop throughout the sprint.
  5. Do hard things early. Do not delay figuring out the hard questions.

Links

Class Common Repo Link

NW Jira Link

References

Build a Rest API with Node.js SQLite and Express JS

Shared HTML Layouts with Pugjs

Custom Elements- Syllabus Examples

Sketches

Sign up
Login page
Login page wrong password
New password screen
Create quest
Create Competition
Forgot password
Password_reset_code
Password hint screen
Create competition invalid inputs screen
Location Screen

  • AS soon as the user login with his credentials:
  • Case 1: able to see notification of team invite.
    Team Invite
  • case 2: If he is a first time user, then a screen will appear displaying either to create a team or create Quest.
    Create Team or Quest
  • Case 3: User would like to create a team and send invitation to his friends then the screens would be:
    Team Creation
  • As soon as you click on submit button,invite players screen will be appeared.
    send invitation
  • when the user clicks the "Click for Clue" button first clue will be shown.
    FindLocation_Clue1
  • When the user clicks again on the "Click for Clue" button, below screen shows up.
    FindLocation_Clue2
  • When the user clicks on the "Click for Clue" button for the third time, below screen shows up.
    FindLocationClue3
  • When the user clicks on the "Click for Clue" button for the fourth time, below screen shows up,this will be the
  • last clue and the button disappears. FindLocationLastClue
    ListOfQuests
    ListOfCompetitions
    EditQuestChangeName
    EditQuestChangeLocation
    DeleteQuestScreen01
    DeleteQuestSccreen
    EditCompetitionChangeName
    EditCompetitionChangeLocation
    EditCompetitionChangeDate
    DeleteCompetition

the-hunt's People

Contributors

gundupooja avatar kharika17 avatar sudheera96 avatar chandupolisetty avatar dixith1196 avatar vikas2004 avatar krishna-s-koyyalamudi avatar saikrishna1545 avatar gbunnud avatar pruthvi-naskanti avatar vishalreddy114 avatar rajeshwari-rudra avatar baskharm avatar yashwanth-damera avatar sumana-reddy avatar nrajubn avatar sumanthreddy1233 avatar puneeth159 avatar swaroopreddygottigundala avatar rajshekar2641 avatar saigorla avatar rohith0696 avatar avisakula123 avatar ravichanderreddy-goli avatar

Stargazers

 avatar

Watchers

 avatar

the-hunt's Issues

As a User, the verification is successful then and user create a password

user story: As a User, after the verification is successful then and I can create a password

Acceptance criteria:

  • User should able to verify the mail sent to his/her mail ID.

Checklist

  • done
  • To do
  • in progress

Estimate time - due by sprint 0 ( 09 sep - 21 sep )

Any other suggestions/feedback( by client)

As a User, after creating the password I can log in successfully

User story: As a User, after creating the password I can log in successfully

Acceptance criteria

  • User can able to change the password after the first login.

Checklist

  • done
  • To do
  • in progress

Estimated time - expected to complete by sprint 0 ( 09 sep - 21 sep)

Any other suggestions/feedback

As a User(captain) I want to accept/decline an invite of a player.

User story: As a User(captain) I want to accept/decline an invite of a player.

Acceptance criteria

  • The user can accept/decline an invite of another player after looking up his/her invitation.
  • The request should be visible in the notifications to the team/team captain.

Checklist

  • done
  • To do
  • In progress

Estimated time : expected to complete by sprint 1 ( 22 sep - oct 5)

Any other suggestions/ feedback

Create Competition - needs "Create" (aka submit) button

In create competition, I can create a name - and a start date & time and end date & time - and I can choose from a hard-coded list of quests (this should be dynamic).

Please add a "Create competition" button at the end that actually calls a POST request with the competition data entered.

As a user, I should be able to see signup page when I click Register

User story: As a user, I should be able to see the signup page when I click Register

Acceptance criteria:

  • user should be able to open a signup page when the user is new

Checklist

  • To do
  • in progress
  • done

Estimated time - estimated by Sprint 1( 22 Sep - 05 oct)

Any other suggestions/feedback (by client)

As a User I want to login/Signup for the game.

loginPage (1)

User story: As a User, I want to login/Signup for the game.

Acceptance criteria

  • The User should have a valid email Id to Signup for the game.
  • Upon signing up for the game the user will be prompted to enter a username/nickname of his choice.
  • If the entered username/nickname is already taken then he/she will prompt the same and after this point, he/she will be identified as a player.
  • If the user has already signed up for the game he/she can log in with the username and password.
  • The user Id should be persisted in the database along with the user's info when completing the registration.

Checklist

  • done
  • in progress
  • need approval
    ** Additional context and any other feedback **

As a User, I should be able to see the login screen when I open the Application/Website.

User Story: As a User, I should be able to see the login screen when I open the Application/Website

Acceptance Criteria

  • user should be able to open the online application using URL
  • user should see the login screen on opening
  • login screen should contain the username, password fields, and buttons to sign-in, signup, and forgot password.

Checklist

  • done
  • in progress
  • To do

Estimated time - estimated to update by Sprint 1( 22 Sep - 05 Oct)

Any other suggestions/feedback

As a user I want to act as the hunt-master and create quest.

User story: As a user, I want to act as the hunt-master and create a quest.

Acceptance criteria :

  • The user who is hunt master will be able to create quests.
  • The huntmaster is assigned to only one person and the user-id and other information is stored in the database such that only he can access the page of the create quest.

Checklist :

  • done
  • To do
  • in progress
  • waiting for client approval

Any other feedback (by client )

As a user, I should be able to successfully log into the application

User story: As a user, I should be able to successfully log into the application.

Acceptance criteria :

  • User should able to successfully login
  • User credentials should be checked.

Checklist

  • To-do
  • in progress
  • done

Estimated time - expected to complete by Sprint 1 ( 22 Sep - 05 Oct)

Any other suggestions/feedback( by client)

As a user, I want to create and join in a competition.

User story: As a user, I want to create and join in a competition.

Description: completed the UI sketch of the competition page

Acceptance criteria

  • The user can join a competition when the competition starts.
  • Once the competition is open, teams which are stored in the database should be able to join the competition.
  • If a new team is formed after the start date of the competition they should still be able to join the competition until and unless the competition is closed.

Checklist

  • done
  • in progress
  • To do
  • waiting for client approval

Estimated time

Any other suggestions/feedback

As a user, After three days, if invite not accepted, assume rejection.

User Story: As a user, After three days, if the invite not accepted, assume rejection.

Acceptance story

  • After 3 days of sending the invite, if it is not accepted, reject the invite

Checklist

  • To do
  • in progress
  • done

Estimated time : expected to complete by sprint 1

Any other suggestions/feedback

As a User I want to Join a Team.

User story: As a User, I want to join a Team.

Acceptance criteria

  • The User can join any team he/she wishes to and will have to search for the team name he/she wants to join.
  • Once he/she decides a team to join he/she will have to send a request to join their team.
  • The user should be able to access all the teams available for him/her to join.

Checklist

  • done
  • in progress
  • To do

Estimated time : expected to complete by sprint 0 ( 09 sep - 21 sep )

Any other suggestions or feedback

As a user, As a user I want to look at my profile

User story: As a user, I want to look at my profile.

Acceptance criteria

  • The user can access their account on the settings page.
  • The settings page will be provided with the account info and will be accessible from the database when the user clicks on the account icon/tab.

Checklist

  • done
  • in progress
  • To do
  • waiting for client approval

Any other suggestions/feedback

As a User, I should be able to know that my username and password are stored

User Story: As a User, I should be able to know that my username and password are stored.

Acceptance criteria :

  • user should be able to have their credentials stored in the database

Checklist

  • To-do
  • in progress
  • done

Estimated time - expected to complete by Sprint 1 ( 22 Sep - 05 oct )

Any other suggestions/feedback (by client)

As a User ,I should be able to reset my password when I click the forgot password button

User story: As a User, I should be able to reset my password when I click the forgot password button.

Acceptance criteria :

  • user should be able to open the forgot password page.
  • user should be able to enter his/her email for verification

Checklist

  • To do
  • in progress
  • done

Estimated time : expected to complete by sprint 1 ( 22 Sep - 05 Oct )

Any other suggestions/feedback (by client)

As a user I want to create a team.

User story: As a user, I want to create a team.

Description :

The UI sketch for the team page is reviewed and approved by the client, below is the attached file for that.

Acceptance criteria

  • The User can create a team upon signing up and he/she will be prompted to enter a team name.
  • The user who creates a team will serve as the captain.
  • The user Id of this person and the info the team should be added into the database as the captain and should be retrievable whenever required.

Checklist

  • done
  • waiting for client approval
  • in progress

3

Any other feedback (by client)

As a User, admin(user) will have all application settings

User story: admin(user) will have all application settings

Acceptance story

  • If the user has admin access he can create edit delete the quests, teams, locations, and users in the application

Checklist

  • To do
  • in progress
  • done

Estimated time : expected to complete by sprint 2 ( 05 Oct - 16 Oct )

Any other suggestions/feedback

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.