ScottyLabs / tartanhacks_dashboard_v2

3 stars 7 forks source link

Tartanhacks Dashboard

ScottyLabs's mobile and web app for Pittsburgh's largest hackathon. Supports features for hackathon participants, admins, and sponsor representatives to organize their hackathon experience.

Table of Contents

  1. Setup
  2. Custom Widgets
  3. Participant Features
  4. Admin Features
  5. Sponsor Features

Setup

The Tartanhacks Dashboard is a Flutter project, and is compatible with Android, iOS, and web.

Android

Custom Widgets

The Tartanhacks Dashboard uses a collection of custom widgets to simplify styling and maintain consistency across the app.

Page template widgets

Widgets that make up the "frame" of the app screen, generally common to every page

Background graphics:

Top bar:

Menu overlay:

Functional widgets

Styled components used to build pages

Color scheme

Most of the colors in the app are pulled from a centralized ColorScheme object, so it is easy to update with new themes. The Tartanhacks Dashboard supports switching between light and dark themes from within the app. Colors for both themes can be edited from theme_changer.dart

Participant Features

Hackathon participants can use the dashboard to manage their project, team, and schedule.

Home

Central hub linking to every other major page.

Project Submission

Participants submit their projects for judging via the in-app form. Details can be edited from the same page any time before the submission deadline. Once a project has been registered, participants can navigate to the prize submission page to select prize categories to enter their project in.

Teams

If the user does not have a team, the teams button navigates to the team formation page. Here, they can create a new team or send join requests from a list of all registered teams.

Check-in

Users can select check-in items from a list to self-check in with event QR codes and gain points for completion. The user's personal QR code for admin scan check-in is accessible from this page, as well as from the home screen carousel.

Schedule

List of events in chronological order with times, locations, and links if applicable. Displays only upcoming events by default, but can be toggled to display past events.

Profile

View personal profile card displaying information submitted during registration - this is the same profile that is visible to recruiters. Includes links to GitHub account and resume. Leaderboard nickname is editable from this page, as well as from the leaderboard page.

Leaderboard

Displays points ranking of all hackathon participants (using leaderboard nickname), as well as the current user's own ranking. Leaderboard nickname is editable from this page, as well as from the profile page.

Admin Features

Admins can use the dashboard to add schedule items and check participants into events.

Create Schedule Items

Create Check-in Items

Scan to Check in Participants

Sponsor Features

Sponsors can use the dashboard to bookmark participant profiles.

Search by Name

Scan Participant QR Code

View Bookmarks