Questr is the prototype app created by our team, Artificial Responsibility, as the final project of our Northcoders 13-week long bootcamp.
Find our presentation video here
An orienteering app that incentivises getting out and about exploring your local vicinity in the form of accepting and completing quests. The quests would be a variety of problem-solving riddles, puzzles, minigames involving AR and location based tasks that would accrue rewards as both coins and XP.- User can sign up and make a profile
- User will upon opening the app to see a map showing the quests available in their local area
- User can select a quest which will require them to go to a certain location and carry out a task to complete the quest
- User's location is verified upon arrival
- User will be able to select their avatar
- User can view their quest history
- User can view current profile stats visualised as radar chart
- use of location verification
All tasks require the user to go to a particular location and check in - use of image recognition
e.g. Quest objective is to take a picture of the horse at your location. Upon submission of picture, our image recognition will verify if the task is completed - solving riddles
e.g. Quest objective is to answer 'How many cannons are at this dock?'. Submission will be verified to accept a range of correct answers, e.g. 2 or Two or two - battle a computer opponent
Based loosely on rock-paper-scissors logic, your attack and opponent's defence combination result in whether your attack lands or not. The stats that you accrue in the game through completing quests, allow you to battle with higher level opponents and earn more rewards.
- TypeScript
- AWS DynamoDB
- graphQL
- clarifai
- AWS Amplify
- AWS Cognito
- Express
- Axios
- imgur
- cyclic
- postman
- (AWS S3)
Due to a newly released Authenticator not being available in react-native, we suggest you install the dependencies in the following order:
$ npm i aws-amplify-react-native@6.0.8
$ npm i aws-amplify@4.3.43
$ npm i --peer-legacy-deps
The project relies on hosting our images on imgur. You will need to have an account with them and create your client id by following the instructions here
$ cd native-app/utils
$ echo "export const clientId: string = 'Client-ID YOUR-CLIENT-ID-HERE'" > imgurClientId.tsx
3. Configure your AWS account
$ amplify configure
Install the Expo Go app onto your mobile or use an android emulator
Then type the following into the folder containing the app.
$ npm start
and scan the barcode to bundle the app and enjoy!
Our team, Artificial Responsibility, was made up of Aaron Currie, Alexander Smith, Jonathan Barker, Qamar Usman and Rebecca Flynn.
Many thanks to the support, encouragement and outstanding tuition of the Northcoders Team, without which, this project would not have been possible.