KitchEd is a web application built with ASP.NET Core that offers a platform for cooking education where chefs can create courses and students can enroll in them.
- User Authentication: Secure registration and login with role-based access control
- Role-Based System: Supports Admin, Chef, and Student roles
- Course Management: Chefs can create, edit, and manage cooking courses
- Course Categorization: Courses are organized by category, skill level, and dish type
- Course Enrollment: Students can browse and enroll in cooking courses
- User Profile Management: Users can manage their personal profiles
- Admin Panel: Comprehensive administration interface for platform management
- Framework: ASP.NET Core 8.0
- ORM: Entity Framework Core
- Authentication: ASP.NET Core Identity
- Database: SQL Server
- Frontend: Razor Pages, HTML, CSS, JavaScript
- Styling: Bootstrap (likely)
- Security: reCAPTCHA integration for form protection
The project follows a clean architecture approach:
- Controllers: Handle HTTP requests and responses
- Models: Define the data structure
- Entities: Course, CourseCategory, DishType, SkillLevel, User, UserCourse, CourseImage
- ViewModels: Used for data transfer between views and controllers
- Views: UI components using Razor syntax
- Services: Business logic implementation
- Data: Database context and data access logic
- .NET 8.0 SDK
- SQL Server
- Visual Studio or Visual Studio Code (recommended)
- Clone the repository:
git clone https://github.com/yourusername/KitchEd.git
- Navigate to the project directory:
cd KitchEd
-
Update the connection string in
appsettings.json
to point to your SQL Server instance. -
Apply database migrations:
dotnet ef database update
- Run the application:
dotnet run
- Access the application at
https://localhost:5001
orhttp://localhost:5000
- Admin: Full access to the platform, can manage all aspects of the system
- Chef: Can create and manage cooking courses
- Student: Can browse and enroll in courses
- Password policy enforcement
- Role-based authorization
- reCAPTCHA protection for forms
/Controllers
: MVC controllers that handle HTTP requests/Data
: Database context and data-related services/Models
: Data models and view models/Views
: UI templates with Razor syntax/wwwroot
: Static files (CSS, JS, images)
This project is licensed under the terms of the LICENSE.txt file included in the repository.
Developed with ❤️ for cooking enthusiasts and educational purposes.