GithubHelp home page GithubHelp logo

ulms's Introduction

University Learning Management System (ULMS)

I developed a comprehensive University Learning Management System (ULMS) using Blazor, leveraging its capabilities for creating interactive web applications with C# and .NET. The ULMS is designed to support various user roles, including Students, Instructors, and Admins, each with specific functionalities.

Key Features and Use Cases

Students

  • View Attendance: Students can check their attendance records.
  • Download Books: Access and download course materials and books.
  • View Classroom: Get information about their classrooms and schedules.
  • View Marks: Check their marks and academic performance.
  • Submission of Quiz/Assignment/Sessional: Submit assignments and quizzes online.
  • View Semester Calendar: Keep track of important academic dates and events.

Instructors

  • Upload Books: Instructors can upload books and reading materials for students.
  • Upload Marks: Enter and update student marks.
  • Upload Past Papers: Provide access to past exam papers.
  • Mark Attendance: Record student attendance.
  • Make Announcements: Post announcements and updates for students.
  • Create Submissions: Create and manage assignments, quizzes, and sessionals.
  • Upload Course Materials: Upload additional course-related materials and resources.

Admins

  • Manage User Accounts: Administer user accounts, including adding, removing, and updating user information.
  • Manage Courses: Create, update, and manage courses offered by the university.
  • Login: Secure access to the admin dashboard.
  • Create Events: Organize and manage university events and activities.

Technologies Used

  • Blazor: For building the interactive user interface using C# and .NET.
  • ASP.NET Core: Backend framework for handling server-side logic.
  • Entity Framework Core: ORM for database interactions.
  • HttpClient: For making HTTP requests to the backend API.
  • Dependency Injection: Ensuring modularity and easy maintenance of the codebase.

This LMS provides a robust platform for managing university operations, enhancing the educational experience for students, and streamlining administrative tasks for instructors and admins.

For more details, please refer to the full report.

Setup

install packages

<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.17" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.17">
    <PrivateAssets>all</PrivateAssets>
    <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="7.0.11" />

create folder Shared/Models

run the following command in Shared

dotnet ef dbcontext scaffold "Host=aws-0-us-west-1.pooler.supabase.com;Port=5432; Database=postgres; Username=postgres.cvikrfiqwuwfbnfqxvpv; Password=IOrLlIapntLwoLbD" Npgsql.EntityFrameworkCore.PostgreSQL --table account -o Models/

create folder Server/Data

move 'Shared/Models/PostgresContext.cs' to 'Server/Data/PostgresContext.cs'

replace 'namespace Shared' to 'namepsace Server' in Server/Data/PostgresContext.cs

import 'using Shared.Models' in Server/Data/PostgresContext.cs

add connection string in appsetting.json

{
    "ConnectionStrings": {
        "connectionstring": "Host=aws-0-us-west-1.pooler.supabase.com;Port=5432; Database=postgres; Username=postgres.cvikrfiqwuwfbnfqxvpv; Password=IOrLlIapntLwoLbD"
    }
}

add Services in Server/Program.cs (make sure to import required libraries)

var conn = builder.Configuration.GetConnectionString("connectionstring");

builder.Services.AddEntityFrameworkNpgsql().AddDbContext<PostgresContext>(opt => opt.UseNpgsql(conn));

Update (whenever database schema is changed)

run the following command in Shared

dotnet ef dbcontext scaffold "Host=aws-0-us-west-1.pooler.supabase.com;Port=5432; Database=postgres; Username=postgres.cvikrfiqwuwfbnfqxvpv; Password=IOrLlIapntLwoLbD" Npgsql.EntityFrameworkCore.PostgreSQL --table account -o Models/

or

dotnet ef dbcontext scaffold "Host=aws-0-us-west-1.pooler.supabase.com;Port=5432; Database=postgres; Username=postgres.cvikrfiqwuwfbnfqxvpv; Password=IOrLlIapntLwoLbD" Npgsql.EntityFrameworkCore.PostgreSQL --table tablename1 --table tablename2 -o Models/ --force

ulms's People

Contributors

fiziqaiser avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.