Golf Team Management App

ASP.NET Core web application featuring role-based access, complex database relationships, and real-time team management.

Project Overview

This project was created as a potential solution for a local Special Olympics golf team. Built with ASP.NET core MVC, it includes everything you'd expect from a professional sports team app.

As an athlete or partner, users can update their profile, view upcoming events, and enter scores for their team. Coaches have the ability to CRUD events and organize athletes/partners into teams. At the highest level, admins manage the data and user profiles.

The SQL database tracks relationships between athletes and their assigned partners, golf events, and performance data. An identity system exists to consistently track who is logged in and what data they can access. This structure allows the controllers to easily enforce the designated role-based permissions.

Technical Features

  • Role-Based Access System: Four distinct user roles with differing permissions based on user responsibilities
  • Security Implementation: Controller-level authorization, user context validation, and protection against unauthorized access
  • Event Scheduling and Score Tracking: Golf event creation and functional score entry system
  • Partner-Athlete Coordination: Dedicated partner accounts that can connect to their assigned athlete and enter their scores
  • Administrative Dashboard: Admin interface with system overview, user management, and exportable data
  • Database Relationship Management: Data relationships with cascade delete prevention and foreign key restraints