GithubHelp home page GithubHelp logo

cos301-se-2021 / geocode Goto Github PK

View Code? Open in Web Editor NEW
4.0 5.0 2.0 14.01 MB

Peak Performers - GeoCode - The GeoCode project is inspired by the popular Geocaching app. Instead of using physical geocaches, QR codes (called geocodes) will be hidden and can be scanned by participants to view the contents of the discovered geocode.

Home Page: https://geocodeapp.tech

License: MIT License

Java 71.13% JavaScript 0.14% TypeScript 24.79% HTML 2.57% Shell 0.15% SCSS 1.22%
geocode geocaching qr-code docker postgresql-database springboot docker-container

geocode's Introduction


Bugs Code Smells Duplicated Lines (%) Lines of Code Quality Gate Status

Reliability Rating Security Rating Technical Debt Vulnerabilities

Project Overview

With the adjustment to the global pandemic and the modernisation of the world we know, average day activities, which some have been around for centuries, are needing to find their way onto the virtual world. Geocaching has started to go out of fashion and is needing a new modern twist on the classic treasure hunt game.

There is a need to have GeoCodes as there is a problem of caches going missing from people stumbling upon the caches without the knowledge of what they are. With GeoCodes the likely hood of a cache going missing is a lot smaller as it will only be a QR code sticker which people are a lot less likely to remove. A QR code is also a lot easier to replace. The use of a GeoCode also resolves the issue of logbooks being full and people unable to log their finds in the books as this will go digital.

With the use of GeoCodes as QR codes it also means if someone stumbles upon a QR code and scans it, they will be taken to the GeoCode website where they will be introduced to the concept and have the opportunity to join the GeoCode community.

Documentation

Additional Links

Mentors

The team had the following mentors from Fifth Dimension Technologies and the University of Pretoria respectively:

Industry Mentor:

Kyle Pretorius
 - [email protected]
 - LinkedIn Account 

University Mentor:

Andrew Broekman
 - [email protected]
 - LinkedIn Account

Collaborators

The following software engineers contributed to the GeoCode project:


Michael Ströh

         Michael Ströh has learnt throughout his university career that perseverance leads to
         excellence. Through working as a Teaching Assistant for COS 212 (Data Structures)
         and a Student Lab Technician in the CBT labs at the University Of Pretoria he has
         learnt how to manage his time wisely and effectively communicate not only as a team
         but also as an individual. As an Artificial Intelligence project Michael Ströh 
         successfully completed a Sudoku solver using Generic Algorithms and a flower 
         specimens classifier using Machine Learning with back propagation to identify 
         the different species of the iris flower, namely, iris setosa, iris versicolour 
         and iris virginica.
  • 👨‍💻 GitHub Account
  • 🎓 LinkedIn Account
  • 👋 Personal Website
  • 📧 [email protected]
    Responsibilities
             - GitHub Readme creation and maintenance.
             - Documentation: 
                - Coding Standards
                - Software Requirements Specification
                - Architecture Requirements and Design Specifications
                - Testing Policy
             - Backend:
                - GeoCode Subsystem
                - System Optimization
                - Events Subsystem
      	   - Testing and researched frameworks:
                - Unit Testing
                - Integration Testing
                - Jmeter
                - Sonar
                - Mockito
    

Liam Moore

         Graduated from Heron Bridge College in 2017 with a distinction for both IT and Life
         Orientation. Switched from Computer Engineering to a BSc Information and Knowledge
         Systems with the choice of the Software Development elective group in 2019. He was the
         class representative for INF 154. Since switching to BSc Information and Knowledge
         Systems he has received distinctions for 6 modules. The Software Development elective
         group contained modules that gave him experience with C#, C# entity framework, .NET
         and Node.js.
  • 👨‍💻 GitHub Account
  • 🎓 LinkedIn Account
  • 📧 [email protected]
    Responsibilities
             - Documentation: 
                - Software Requirements Specification
                - Architecture Requirements and Design Specifications
             - Backend: 
                - Mission Subsystem
                - LeaderBoard Subsystem
                - Events Subsystem extension for Blockly
                - Collectable Subsystem and the design patterns (Decorator and Factory patterns)
             - Usability Testing: Conducting Usability Testing
    

Jenna Gallagher

         Graduated from St Dominic’s Priory High School in 2018 with 5 distinctions and 3rd
         in her year. She currently has 17 distinctions out of 23 modules. Jenna has done an
         internship at Propella which helps startups bring their ideas to life through technology.
         There she experienced the life cycle of project development from meeting a client all the
         way through to the end project, this will help her in leading the capstone project.
  • 👩‍💻 GitHub Account
  • 🎓 LinkedIn Account
  • 👋 Personal Website
  • 📧 [email protected]
    Responsibilities
             - Documentation: 
                - Software Requirements Specification
                - Architecture Requirements and Design Specifications
                - User Manual
             - Frontend: 
                - Explore tabs Pages 
                - Events tabs Pages
                - Profile tabs Pages
                - Blockly Pages
                - QR Code Creation
             - Usability Testing: 
                - Colour Scheme Test.
                - Usability Test document.
         

Caleb Johnstone

         Caleb Johnstone graduated from Fourways High School in 2018, achieving 4 distinctions
         - the highest of the two being 94% for Mathematics and 96% for Information Technology.
         He placed 7th in Gauteng for Information Technology. Caleb is currently studying in
         his 3rd year for a BSc Information and Knowledge Systems, specialising in Data Science.
         This degree is one of the two degrees offered at the Computer Science department at
         the University Of Pretoria. Caleb was the top Computer Science student for 2019 and 2020.
         He was elected as the EBIT House Treasurer for the 2019/2020 term.
  • 👨‍💻 GitHub Account
  • 🎓 LinkedIn Account
  • 📧 [email protected]
    Responsibilities
             - Documentation: 
                - Software Requirements Specification
                - Architecture Requirements and Design Specifications
                - User Manual
             - Backend: 
                - User Subsystem 
                - Leaderboard Subsystem
                - Blockly Events
                - Mission Subsystem
                - Collectable Subsystem           
    

Michael Harvey

         Michael Harvey graduated from Richards Bay Christian School in 2018 with 4 distinctions,
         and is currently in his 3rd year studying BSc Computer Science. In his first two and a half
         years of university he achieved 25 distinctions in 28 modules, and he ranked as the 3rd-
         highest first-year Computer Science student at UP in 2019. On the side he maintains 2
         Discord bots written in Python that make use of the API for the mobile game Clash of Clans.
  • 👨‍💻 GitHub Account
  • 🎓 LinkedIn Account
  • 📧 [email protected]
    Responsibilities
             - Frontend: 
                - Adaptive Layout
                - Augmented Reality
                - Blockly Integration
                - Collections Tab Pages
                - QR Code Creation/Scanning
                - Profile Tab Pages
             - Automation:
                - Android APK Build
                - Deployment
                - Swagger Client Generation
             - Documentation: 
                - Software Requirements Specification
                - Architecture Requirements and Design Specifications
                - Technical Installation Manual
             - Backend: Events Subsystem
             - Keycloak Integration
             - Server Management
             - GitHub Pages Setup
    

geocode's People

Contributors

bytesizedginger avatar calebjohnstone avatar github-actions[bot] avatar michael-stroh avatar nitronbiohazard avatar robotic-coder avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

geocode's Issues

User Swagger

Create the Swagger documentation for the User subsystem

GeoCode Unit Test

Create unit tests to test the implemented use cases for the GeoCode subsystem.

Ensure all the tests pass and they extensively test the use cases.

User Service

Service implementation for the User subsystem

Repository Badges

  • Look into other cool badges
  • Code Coverage
  • Build
  • Requirements
  • Issue Tracking
  • Monitoring

Licence

Confirm with the client what type of license they want for the project, generate it and upload the license to the repository.

User Characteristics

Create and maintain the user characteristics for the SRS document such that anyone who reads it knows who the targeted users are.

GeoCode Repository

Create the repository that links to the database for all the attributes that are stored in the GeoCode subsystem.

For the first demo also create a mock repository since no integration has been implemented yet.

Demo Video

Create a video where the team goes through what they have completed for the first demo. This video will include both the code implemented, the unit tests on that code and the documentation.

Create Git hub Readme

Create and maintain the GitHub ReadMe with the relevant information. This helps enable a viewer to get all information from the collaborators to the mentors and the scope of the project. All relevant information should be present in this and up to date.

Geocode Integration Test

Test if the GeoCode subsystem is implemented correctly and can use the functionality from the other subsystems that it needs to operate.

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.