A .NET 10 Razor Pages application for managing ICard information and user registration. Originally developed for the Convocation process, this application can be adapted for various registration and check-in scenarios.
- Overview
- Features
- Technology Stack
- Prerequisites
- Getting Started
- Deployment
- Usage
- Project Structure
- Contributing
- Support
ConvocationApp is a user intake system that processes ICard information for registration purposes. The application integrates with the Data Warehouse (DW) database to retrieve ICard photos and stores attendee information in a local database.
Current Capabilities:
- User registration and intake processing
- ICard photo retrieval and display
- Attendee information management
Limitations:
- Currently handles intake only
- Data retrieval requires direct database access
- ICard Integration: Retrieves user photos from the DW database
- Attendee Management: Tracks registration, pickup status, and attendee details
- Entity Framework Core: Automatic database creation and migrations
- Razor Pages Architecture: Clean separation of concerns with page-based routing
- CI/CD Ready: Configured for continuous integration deployment
- .NET 10: Latest .NET framework
- ASP.NET Core Razor Pages: Web application framework
- Entity Framework Core: Object-relational mapping and database management
- SQL Server: Primary database for attendee data
- Microsoft.Data.SqlClient: SQL Server connectivity
Before you begin, ensure you have the following installed:
- .NET 10 SDK or later
- Visual Studio 2026 or Visual Studio Code
- SQL Server (LocalDB, Express, or full edition)
- Access to the Data Warehouse (DW) database for ICard photo retrieval
-
Clone the Repository
git clone <repository-url> cd ConvocationApp
-
Restore NuGet Packages
dotnet restore
-
Configure Application Settings
Create or update the
local.settings.jsonfile in the project root with your connection strings (see Configuration section). -
Build the Application
dotnet build
-
Run the Application
dotnet run
The application will be available at
https://localhost:5001(or the port specified in your launch settings).
Create a local.settings.json file in the project root with the following structure:
{
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=ConvocationAppDb;Trusted_Connection=True;MultipleActiveResultSets=true"
}
}Configuration Notes:
DefaultConnection: Connection string for the local attendee database
The application uses Entity Framework Core with automatic database creation:
-
Initial Database Creation
The database will be created automatically on first run if it doesn't exist.
-
Apply Migrations (if applicable)
dotnet ef database update
-
Create a New Migration (when making schema changes)
dotnet ef migrations add <MigrationName>
Status: Production environment setup in progress.
Requirements:
- SQL Server database instance
- Access to the Data Warehouse database
- Appropriate connection strings configured in application settings
The application is configured for continuous integration and deployment:
- Automated builds on code commits
- Deployment triggered via CI pipeline
- Environment-specific configuration management
Deployment Steps:
- Commit and push changes to the repository
- CI pipeline automatically builds and tests the application
- Deployment to target environment occurs upon successful build
Ensure the following are configured in your production environment:
- Connection strings in application settings or Azure App Configuration
- Appropriate database permissions
- Network access to DW database
- SSL certificates for HTTPS
- Navigate to the registration page
- Scan or enter the attendee's UIN (University Identification Number)
- The system retrieves the ICard photo from the DW database
- Verify attendee information and complete registration
- Attendee data is stored in the local database
- Via Application: Currently limited to intake functionality
- Direct Database Access: Query the database directly for reporting and data retrieval
SELECT * FROM Attendees WHERE Uin = '<uin-value>'
ConvocationApp/
├── DataAccess/ # Data access layer and repository classes
│ ├── AttendeeContext.cs
│ ├── AttendeeImage.cs
│ └── ...
├── Pages/ # Razor Pages
│ ├── Index.cshtml
│ └── ...
├── Models/ # Domain models
│ ├── Attendee.cs
│ └── ...
├── wwwroot/ # Static files (CSS, JS, images)
├── appsettings.json # Application configuration
├── Program.cs # Application entry point
└── ConvocationApp.csproj
- Development Environment: Local machine development
- Branching Strategy: Create feature branches for new development
- Code Review: Submit pull requests for review before merging
- Testing: Ensure all changes are tested locally before committing
- Follow C# coding conventions and .NET best practices
- Write clean, maintainable code with appropriate comments
- Update this README when adding new features or changing configuration
- Test database migrations before committing
- Keep dependencies up to date
- Error logging implementation: TBD
- Check application logs for troubleshooting
- Entity Framework Core CLI: For database migrations
- SQL Server Management Studio: For direct database access
For questions or issues, contact IT Partners.
Last Updated: December 2024
Project Status: Active Development