LearnFlow is a modern e-learning platform built with ASP.NET Core MVC that facilitates seamless interaction between instructors and students. The platform provides comprehensive course management, student progress tracking, and assessment capabilities.
-
Course Management
- Create and manage courses with multimedia content
- Upload video lectures and supplementary materials
- Set course pricing and descriptions
- Manage course enrollments
-
Student Features
- Personal dashboard with enrolled courses
- Real-time progress tracking
- Interactive course content access
- Quiz participation and results tracking
-
Assessment System
- Built-in quiz creation and management
- Automatic grading system
- Visual progress tracking
- Detailed result analytics
-
Search & Discovery
- Dynamic course search functionality
- Real-time search results
- Course filtering and sorting options
-
Backend
- ASP.NET Core MVC
- Entity Framework Core
- SQL Server
-
Frontend
- JavaScript
- jQuery
- Bootstrap
- Chart.js
- .NET 6.0 SDK or later
- SQL Server
- Visual Studio 2022 (recommended) or VS Code
- Node.js (for npm packages)
-
Clone the repository
git clone https://github.com/yourusername/LearnFlow.git cd LearnFlow -
Update Database Connection
- Open
appsettings.json - Update the connection string to match your SQL Server instance
- Open
-
Apply Database Migrations
dotnet ef database update
-
Install Dependencies
dotnet restore
-
Run the Application
dotnet run
The application will be available at
https://localhost:5001orhttp://localhost:5000
LearnFlow/
├── Controllers/ # MVC Controllers
├── Models/ # Domain Models
├── Views/ # Razor Views
├── ViewModels/ # View Models
├── Repository/ # Data Access Layer
├── Data/ # Database Context
├── wwwroot/ # Static Files
│ ├── css/
│ ├── js/
│ └── images/
└── Helpers/ # Utility Classes
The platform uses ASP.NET Core Identity for authentication and authorization with the following roles:
- Administrator
- Instructor
- Student
- Instructors can create courses with detailed information
- Upload and manage course content
- Track student enrollment and progress
- Personal profile management
- Course enrollment tracking
- Progress visualization with charts
- Access to course materials and quizzes
- Quiz creation and management
- Automatic grading
- Progress tracking and visualization
- Detailed result analytics
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Your Name - eng.yousef.elbilkasy@gmail.com
Project Link: https://github.com/YousefElbilkasy/LearnFlow