A comprehensive, production-ready cinema booking system built with ASP.NET Core 9.0 and the Apple Keyboard+ Design System. VoxTics provides a complete movie theater management solution with both customer-facing and administrative interfaces.
- Movie Browsing - Advanced search, filtering, and sorting
- Cinema Locations - Multiple locations with detailed information
- Seat Selection - Interactive real-time seat availability
- Secure Payments - Stripe integration for ticket purchases
- User Accounts - Registration, authentication, and profile management
- Watchlist - Save favorite movies for later booking
- Movie Management - Full CRUD operations for movies and showtimes
- Cinema Management - Multiple locations, halls, and seating configurations
- Booking Oversight - Monitor and manage customer bookings
- User Management - Admin tools for accounts and roles
- Analytics - Comprehensive reporting and insights
- System Settings - Configurable parameters and preferences
- .NET 9.0 SDK
- SQL Server (LocalDB for development)
- Node.js 18+ (for CSS build tools)
# 1. Navigate to project
cd VoxTics/VoxTics
# 2. Run the application
dotnet run
# 3. Access the application
# Main site: https://localhost:7244
# Admin: https://localhost:7244/AdminDefault Admin Account:
- Email: SuperAdmin@gmail.com
- Password: Admin123$
| Document | Purpose |
|---|---|
| Setup Guide | Installation, configuration, and database setup |
| Architecture | System design and technology stack overview |
| CSS Architecture | Design system, components, and styling |
| JavaScript Architecture | Frontend modules and functionality |
| Implementation Status | Progress tracking and completion metrics |
| Changelog | Recent updates and improvements |
- Backend: ASP.NET Core 9.0 MVC with Entity Framework Core 9.0
- Frontend: Razor Views with Apple Keyboard+ Design System
- Database: SQL Server with Entity Framework migrations
- Styling: TailwindCSS + Custom CSS (100+ design tokens)
- Authentication: ASP.NET Core Identity with social login
- Payments: Stripe integration for secure transactions
- Build Tools: Webpack, PostCSS, npm scripts
VoxTics uses the Apple Keyboard+ Design System - a custom design language inspired by Apple's Human Interface Guidelines:
- β Consistent Visual Language - Apple-inspired colors, typography, spacing
- β Component Library - 50+ reusable UI components
- β Accessibility First - WCAG 2.1 AA compliance built-in
- β Dark Mode - Automatic system preference detection
- β Responsive Design - Mobile-first approach with fluid layouts
- β Zero Page-Specific CSS - All styling through global components
VoxTics/
βββ Areas/
β βββ Admin/ # Admin dashboard & management
β βββ Identity/ # Authentication & user management
βββ Controllers/ # MVC controllers
βββ Data/ # Database context & configurations
βββ Models/ # Domain entities & view models
βββ Services/ # Business logic layer
βββ Repositories/ # Data access layer
βββ Views/ # Razor view templates
βββ wwwroot/
β βββ css/ # Global design system
β βββ js/ # Modular JavaScript
β βββ images/ # Static assets
βββ Program.cs # Application entry point
# Development
npm run dev # Start with hot reload
npm run build-css # Build CSS only
dotnet watch run # Start .NET with hot reload
# Building
npm run build # Production build
npm run clean # Clean build artifacts
# Code Quality
npm run lint-css # Lint CSS
npm run format # Format code
npm run security-audit # Security audit# Add migration
dotnet ef migrations add MigrationName --project VoxTics
# Update database
dotnet ef database update --project VoxTics
# Drop database (development only)
dotnet ef database drop --project VoxTicsEdit appsettings.json to configure:
{
"ConnectionStrings": {
"DefaultConnection": "Server=.;Database=VoxTicsDB;Trusted_Connection=True;..."
},
"Stripe": {
"SecretKey": "sk_test_...",
"PublishableKey": "pk_test_..."
},
"Email": {
"From": "no-reply@voxtics.com",
"Smtp": {
"Host": "smtp.gmail.com",
"Port": 587,
"User": "your-email@gmail.com",
"Pass": "your-app-password"
}
}
}- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow C# naming conventions (PascalCase for classes, camelCase for variables)
- Use CSS custom properties for theming
- Write accessible HTML with proper ARIA attributes
- Include unit tests for new features
This project is licensed under the MIT License - see LICENSE.txt for details.
- Apple Human Interface Guidelines for design inspiration
- TailwindCSS for utility-first CSS framework
- ASP.NET Core team for the excellent web framework
- Bootstrap Icons for the icon library
Status: β Production Ready | Framework: ASP.NET Core 9.0 | Database: SQL Server | Last Updated: May 31, 2026