EduTrail is a Blazor web application designed to create and manage configurable learning trails for students. It provides teachers with tools to monitor progress, manage assignments, and attach materials for enhanced learning experiences.
- Learning Trails: Structured, easy-to-follow learning paths with rich content, such as documents, videos, and links
- Progress Tracking: Monitor individual progress through trail modules and assignments
- Assignment Submission: Upload assignments directly for teacher review and feedback
- Class Management: Organize students into classes and assign tailored learning trails
- Progress Monitoring: View the progress of individual students and entire classes
- Assignment Management: Create, assign, and review student submissions with detailed feedback
- Content Uploads: Attach materials like videos, documents, and links to learning modules
- Create Classes: Add classes and assign students
- Design Learning Trails: Define learning trails with modules and attach materials
- Monitor Progress: View reports on student performance and completion rates
- Access Trails: View assigned learning trails and start tasks
- Track Progress: Use the dashboard to keep track of completed trails and assignments
- Submit Assignments: Upload your work through the portal
-
Clone the repository:
git clone https://github.com/Alintya/edu-trail.git
-
Navigate to the project directory:
cd edu-trail -
Set default admin account credentials in
docker-compose.ymlenvironment: - EDUTRAIL_DefaultAdminUser__Email=admin@example.com - EDUTRAIL_DefaultAdminUser__Password=MyAdminPassword123! -
(Recommended) Adjust database user credentials
-
Run
docker compose up -d
- .NET 9.0 (for UUIDv7)
- Visual Studio 2022 or any IDE with .NET support
- PostgreSQL Server or Docker (compose)
- Preferably dotnet-ef for migration management (
dotnet tool install --global dotnet-ef)
-
Clone the repository:
git clone https://github.com/Alintya/edu-trail.git
-
Open
EduTrail.slnand run the docker-compose project
-
Clone the repository:
git clone https://github.com/Alintya/edu-trail.git
-
Navigate to the project directory:
cd edu-trail -
Run database
a. Either standalone or using
docker compose up edutrail.db -db. (if standalone db) Modify the database connection in
src/EduTrail.WebUI/appsettings.Development.jsonwhere necessary:"ConnectionStrings": { "DefaultConnection": "Server=localhost;Port=5432;Database=edutrail;User Id=myUsername;Password=myPassword;" }
c. (Optional) Apply migrations manually:
dotnet ef database update -p src/EduTrail.Infrastructure -s src/EduTrail.WebUI
-
Run the application (or
dotnet watchto hot-reload):dotnet run --project src/EduTrail.WebUI
-
Asp.Net
-
EF Core
-
Blazor
-
Docker
EduTrail tries to follow Clean Architecture principles:
- Domain Layer: Core business logic and entities (e.g.,
LearningTrail,TrailModule) - Application Layer: Service interfaces, validation, and mapping
- Infrastructure Layer: Data access with EF Core, repositories, and external integrations
- Presentation Layer: Startup project with Blazor components for the UI
Contributions are welcome! To contribute:
- Fork the repository
- Create a new branch for your feature/fix
- Submit a pull request with a clear description of your changes
For additional info, see Contributing
TODO

