Challenge Accepted

Final Project for Skill Distillery

Team Members and Roles

  • Alex Wagner - Lead Developer / Database Administrator

  • Andrew Lyon - Front End Developer / Associate Middleware Developer

  • Eli Harper - Front End Developer / Associate Middleware Developer

  • Dora Harper - Middleware Developer / Associate Front End Developer

  • Megan Arnold - Middleware Developer / Associate Front End Developer

Web Address

Description

Have you ever wanted to play a game of ping pong or pool while you're out and about, but couldn't find someone to play? Our objective was to create an application that unites those who share a drive to compete. We help users connect online to propose or accept a challenge, compete, and track the winner of the challenge, along with points gained and skill levels achieved.

Application Workflow

When a user visits our website, they begin on our home page, which displays a list of challenges, and a leaderboard of top users. If the user is not logged in, they are able to view any challenge, but unable to accept the challenge. A user may register a new account, or log in to our site using an existing account.

Once a user is logged in, the navigation bar at the top of the site will update to give the user additional functionality. If a user elects to visit their profile page, they will be able to see a current list of pending challenges, and a current list of active challenges, along with their challenge history. Their skill points and levels are also displayed.

A user may also navigate to their inbox, to view messages received from users, or to send a new message to another user. The inbox displays a message from each thread, which a user may click to view the full conversation.

If a user wishes to create a new challenge, they may click on the orange "plus" sign in the navigation bar. This will expand the navigation bar to display a form, which the user may fill out to generate their challenge. Once the challenge is generated, it is pending and will be listed in the Marketplace for other users to accept.

Technologies Used

  • Java
  • Spring Boot
  • REST APIs
  • Angular 6
  • Typescript
  • Javascript
  • HTML/CSS
  • Bootstrap
  • MySQL
  • Gradle
  • J-Unit Jupiter
  • Hibernate
  • JPA
  • Spring JPA
  • Apache Tomcat
  • AWS EC2
  • MAMP
  • Git/Github

Methodologies

  • Scrum/Agile
  • Kanban
  • OO Design