Skip to content

Latest commit

 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Northwoods Hockey NET

C# DOTNET SQLite Bootstrap
Javascript Replit Railway

Northwoods Hockey NET is an ASP.NET Core MVC web application designed to provide a centralized platform for managing and viewing hockey league information, including teams, scores, standings, statistics, schedules, and game-day information.
The project combines a server-rendered ASP.NET Core MVC architecture with a responsive Bootstrap-based interface and ASP.NET Core Identity authentication.

Overview

Northwoods Hockey NET is designed around the needs of a local hockey organization or league. The application provides users with a single location to browse league information, review team performance, view scores, explore statistics, and access game-day information.
The application is organized around several primary areas:
  • Home and dashboard views
  • League information
  • Team standings
  • Scores and game results
  • Team statistics
  • Game-day information
  • User authentication and registration
  • User profiles
  • Administrative and authenticated functionality
The interface uses a dark, hockey-oriented visual design with responsive layouts intended to work across desktop and mobile devices.

Features

League Management:
The League section provides a consolidated view of league information and allows users to navigate between different divisions.
Current league divisions include:
  • AHL (A Division)
  • ARL (B Division)
  • BHL (C Division)
  • RRHL (D Division)
League information can be organized into:
  • Results
  • Statistics
  • Standings
League navigation is integrated with the site's main navigation so that selecting a league can open the corresponding league section directly.

Team Information -
The Teams section provides information about participating teams and their league performance.
Team functionality includes:
  • Team listing
  • League filtering
  • Team search
  • Division identification
  • Win/loss/draw records
  • League ranking
  • Team performance information
  • Interactive team statistics
Team filtering and search can be used together to narrow the displayed teams.

Scores -
The Scores section provides game and score information organized by league.
Score views support filtering and sorting options including:
  • Date
  • Wins
  • Losses
  • Streaks
The score interface is designed to provide a compact overview of league results while remaining usable on smaller screens.

Statistics -
The Stats section provides an overview of team performance and league trends.
Statistics include information such as:
  • Overall record
  • Win rate
  • Current unbeaten streak
  • Current winning streak
  • Hottest teams
  • Best overall records
  • Best home records
  • Best away records
  • Recent team form
The statistics interface uses visual cards and section-based layouts to make important information easy to scan.

Game Day -
The Game Day section provides a focused view of game-related information and is designed around quickly accessing relevant game information.
The interface uses card-based components and responsive layouts to provide a dashboard-style experience.

Authentication

The application uses ASP.NET Core Identity for authentication and account management.
Authentication functionality includes:
  • User registration
  • User login
  • User logout
  • Authenticated navigation
  • User profiles
  • Role-based functionality
Users can access authenticated areas of the application after signing in.

Technology Stack

Backend
  • C#
  • ASP.NET Core
  • ASP.NET Core MVC
  • ASP.NET Core Identity
  • Entity Framework Core
  • SQLite
Frontend
  • Razor Views
  • HTML5
  • CSS3
  • JavaScript
  • Bootstrap 5
  • Font Awesome
  • Source Sans 3
Data
  • Entity Framework Core
  • SQLite
  • CSV-based data processing
Development and Deployment
  • .NET SDK
  • Git
  • GitHub
  • Replit development environment
  • Railway deployment
The repository is currently categorized with technologies and topics including C#, .NET 7, ASP.NET Core MVC, Bootstrap 5, Razor Views, hockey data, hockey statistics, CSV parsing, authentication, and sports management.

Project Structure

The primary application is contained within the mvc directory.
A simplified structure is:
NWoods-Hockey-NET/
│
├── mvc/
│   ├── Controllers/
│   ├── Models/
│   ├── Views/
│   ├── Data/
│   ├── wwwroot/
│   ├── Startup.cs
│   ├── Program.cs
│   ├── appsettings.json
│   └── *.csproj
│
├── .editorconfig
├── .gitignore
├── .replit
├── README.md
├── dotnet
└── identity.db

Local Development

Prerequisites:

Install the following before running the application:
  • .NET SDK
  • Git
  • A compatible IDE or code editor
The repository currently identifies the project with .NET 7-related tooling and topics. Verify the SDK version required by the project file before running the application.
Check installed SDKs with:

dotnet --list-sdks

Check installed runtimes with:

dotnet --list-runtimes

Clone the Repository

git clone https://github.com/inglorious-ratbastard/NWoods-Hockey-NET.git

Change into the project directory:

cd NWoods-Hockey-NET

Then enter the MVC application directory:

cd mvc

Restore Dependencies

dotnet restore

Build the Application

dotnet build

Run the Application

dotnet run

The application will display the local address provided by ASP.NET Core in the console.

Database

The application uses SQLite for persistent application data.
The repository contains an identity.db database file, and the application uses Entity Framework Core for database access.
When making changes to the Entity Framework Core data model, migrations should be created and applied as appropriate.
Example:

dotnet ef migrations add MigrationName

Apply migrations with:

dotnet ef database update

If Entity Framework Core command-line tooling is not installed, install it with:

dotnet tool install --global dotnet-ef

The project may also require the Entity Framework Core Design package for migration tooling.
Configuration:
Application configuration is managed through ASP.NET Core configuration files and environment variables.
Common configuration locations include:
appsettings.json
appsettings.Development.json
Environment-specific configuration should be kept outside source control when it contains sensitive information.
Do not commit:
Passwords
API keys
Connection strings containing credentials
Authentication secrets
Private certificates
Production credentials

Replit

The project has historically included Replit-specific configuration and tooling.
The repository contains a .replit configuration file and a bundled dotnet executable/script associated with the project's earlier Replit development environment.
For local development, the standard installed .NET SDK is recommended.

Deployment

The project has previously been deployed through Railway.
The repository currently lists a deployed Northwoods Hockey NET application under its GitHub project information.
For production deployment, configure the appropriate:
  • .NET runtime
  • Environment variables
  • Database configuration
  • Authentication configuration
  • HTTPS configuration
  • Persistent storage
Production secrets should be supplied through the hosting provider rather than committed to the repository.

Project Status

Northwoods Hockey NET is an actively developed project.
The repository currently contains the ASP.NET Core MVC application and supporting configuration, database, and development files. The application continues to evolve as league, team, score, statistics, and game-day functionality is expanded.

License

No license is currently specified in the repository.
If this project is intended for public reuse or contribution, add an appropriate license to the repository.

Repository

Source code:

Author

Developed by Javier Yzaguirre (inglorious-ratbastard) and the Northwoods Hockey NET project.