Skip to content

Info Sys & Tech (UKZN) final year major project built with ASP.Net Webforms & WebAPI-2

Notifications You must be signed in to change notification settings

MpiloNtombela/LMS-MajorProject

Repository files navigation

Major Project (Milestone 3 & 4) -> 1 & 2

Final year ISTN (Info Sys & Tech) Major Project (screenshots)

A matric upgrade registration system

Guidelines

Visual Studio Framework Version

project Structure

This project comes in two parts

  • Main ASP.NET project
  • SQL Database project

Main ASP.NET project (RegistrationSystem)

  • This project includes the ASP.NET Webforms and ASP.NET Web API 2
  • The aslo uses LibMan to manage client side libraries

SQL Database project (MajorProjectDB)

  • This project comes all the database tables and views used in the project
  • NOTE: You have to publish the database to your desired SQL Server and change the connection string in web.config to match the one from your SQL-Server

Config

  • (re)build application

    (re)building the application will install required ASP packages from NuGet

    and Client-Side libraries listed in thelibman.json file build

  • publish database
    • right-click on MajorProjectDB

    Publish Database

    A tutorial on how to manage and publish a database project on Visual Studio

    note: Database name is MajorProjectDB

    • To the published database add new roles record in the AspNetRoles table AspNetRoles

    • These roles are required for the application to work properly

  • Run Application

    If it happen you encounter error could not find a part of path c:\...\bin\roslyn\csc.exe VSbuildError Cleaning and Rebuilding solution usually fix the error. Also refer to SO solution

  • User Secrets file

    sort of like this user secrets

  • Important note ⚡

    Note: accounts created on the website default to student role. To create admin role accounts use this application ,a 'sort of' internal Winform Application to be used Admins. It work hand-in-hand with the site

Some noticable improvements that could be made

  • This project may not have the best database design😁, so definatly start with Database Table Relationships (Foriegn Keys)
  • Add support Email verification/confirmation 📧✔ after signup (intergration with Identiy Framework
  • Notification system was kinda impletemented in give or take 3hrs to deadline🤧 so yeah😑😬 it uses Polling🥵, which is definently not the best or effient solution. Improvements to it may include replacing Polling with Websockets using SignalR
  • Removing Some redundant Interfaces
  • Add Role management (CRUD) interface to be used by admin
  • Add Teacher's portal (to manage upgrade marks for students)

Some screenshots

Landing Registration Process Student Portal payment gateway

Admin

dash students

Illustrations in this project are provided with ❤ by storyset