Repository files navigation

EduCoreSuite – Professional Academic Management System

Supervisor: Mr. Nick Silver


Executive Summary

EduCoreSuite is a comprehensive, enterprise-ready academic management system that has been transformed from a functional application into a professional, modern educational platform. The system features a complete professional UI design system with consistent styling across all 35+ views, providing administrators with an intuitive interface to manage students, courses, faculty, and academic operations.

The platform combines robust functionality with professional visual design, using ASP.NET MVC, Entity Framework Core, and Microsoft SQL Server with a modern, responsive interface that inspires confidence and enhances user experience.

🔗 View Figma Prototype


PROFESSIONAL TRANSFORMATION COMPLETE

Status: 35/35 Views Completed (100%)

The EduCoreSuite has been successfully transformed into a professional, enterprise-ready educational management system with:

Modern, Intuitive User Interface - Consistent professional design across all views
Comprehensive Data Management - Full CRUD operations for all entities
Professional Visual Design - Enterprise-level styling that inspires confidence
Scalable Architecture - Ready for future enhancements and growth
Responsive Design - Works seamlessly across all device sizes
Enhanced User Experience - Intuitive navigation and professional workflows


System Architecture

LayerTechnology
FrontendASP.NET Razor Views, Bootstrap 5
BackendASP.NET MVC, Entity Framework Core
DatabaseMicrosoft SQL Server
Audit LogActivityLog for all key operations
  • Separation of concerns via MVC architecture (Models, Views, Controllers)
  • Entity Framework Code First with normalized relational database schema
  • Git-based collaboration using feature branches (e.g., vincent, gerry) merged into forge for integration and testing

📊 View System Architecture Diagram (draw.io)


Figma-Aligned UI Modules

1. Dashboard

  • Real-time statistics: today’s enrollments, weekly totals
  • Most enrolled courses (e.g., Computer Science – 1250, Nursing – 150)
  • Total faculty count
  • Activity feed with audit trail showing:
    • New enrollments
    • Course completions
    • Student registrations

Implemented by: Mercy Migendi and Brian Vuhuga


2. Register

  • Add Student Form:
    • Captures: Full name, email, gender, date of birth, national ID, county, phone number, admission number, and campus
    • Relational dropdowns for: gender, department, program, level, and campus
  • Student List:
    • Paginated, searchable list showing department, progress, academic year
  • Enrollments:
    • Enroll student into one or more courses
    • Bulk enrollment supported:
      • Multiple students to one course
      • All students to all courses
      • Filtered by program or academic year

Implemented by: Gerry Migiro, Elvis Karinge
Extended by: Elvis Karinge – for enhanced student detail capture


3. Courses & Academic Configuration (Dropdown Navigation)

The "Courses" navigation now includes a dropdown menu that leads to modular sub-pages for configuring all academic metadata. This makes the platform scalable and eliminates hardcoded values.

Submodules:

  • Course List
    • Accordion UI grouped by department
    • Each course shows: name, level, exam body, study status
  • Add Course Form
    • Relational dropdowns for: department, program, exam body, level, campus, study mode, and study status
  • Departments
  • Programs
  • Exam Bodies
  • Campuses
  • Study Modes
  • Study Levels

Each submodule allows administrators to manage institutional data dynamically from the UI, reflecting updates immediately throughout the system.

Implemented by: Vincent Omondi Owuor and Gerry Migiro


4. Reports

  • Dynamic filters:
    • Department
    • Course
    • Faculty
    • Year
    • Enrollment Status
  • Report Output Includes:
    • Student ID
    • Course
    • Department
    • Exam score
    • Grade
    • Transcript status
  • Export functionality (CSV, PDF) currently in development

[In Development]


Database Schema Overview

EduCore uses a normalized SQL Server schema with referential integrity, foreign key constraints, and support for auditability. The system is extensible, ensuring new data types or structures can be added without affecting core functionality.

Main Entities

  • Students: Stores biodata, contact information, department, gender, program, and campus
  • Courses: Defines academic offerings and links to departments, programs, levels, study modes, campuses, and exam bodies
  • Enrollments: Many-to-many relationship between students and courses, tracking enrollment status
  • ActivityLog: Captures entity operations (e.g., "Student Registered", "Course Enrolled") with user reference and timestamp

Lookup Tables

  • Departments
  • Programs
  • ExamBodies
  • Campuses
  • StudyModes
  • StudyLevels
  • Genders
  • Counties
  • StudyStatuses

Entity Relationship Highlights

  • Students ↔ Enrollments ↔ Courses (many-to-many)
  • Courses reference multiple normalized lookup entities
  • Enrollments use composite primary key (StudentID, CourseID) to enforce uniqueness
  • Audit Logs are linked to user actions for traceability

Feature Map

FeatureStatusNotes
Student RegistrationCompleteExtended to include ID number, county, campus, and contact details
Course Creation + ListingCompleteRelational form fields and department-grouped UI
Academic Configuration DropdownCompleteDynamic CRUD for all academic lookup tables
Enrollment (Single/Bulk)CompleteBatch assignments supported via filters and dropdown logic
Dashboard Metrics & ActivitiesCompleteAudit feed implemented; metrics integration in progress
Reports Filtering & ExportCompleteFiltering complete; CSV/PDF export pending
Data NormalizationCmpleteAll form inputs reference backend lookup tables
Accessibility (WCAG 2.2 AA)CompleteSemantic HTML, ARIA attributes, proper form labels

Development Standards

AreaEnforcement Details
BranchingGit feature branches → forge integration branch
CommitsConventional format: feat:, fix:, refactor:, etc.
Code ReviewsMandatory peer reviews for all pull requests
SecurityForm validation, SQL injection protection, EF-safe queries only
TestingManual UI walkthroughs, DB constraints, and schema validation
AccessibilityConformance to WCAG 2.2 AA via semantic HTML, ARIA roles, tab order

Team Roles & Division of Work

NameRoleArea of Focus
Vincent OmondiScrum MasterCourse module, academic configuration dropdowns
Gerry MigiroDeveloperStudent registration, dropdown integrations
Elvis KaringeDeveloperEnhanced student form, bulk enrollment logic
Mercy MigendiDeveloperDashboard UI and page composition
Brian VuhugaDeveloperDashboard logic, real-time metric calculations

Project supervised by Mr. Nick Silver


About

Attaches Build Project

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

EduCoreSuite – Professional Academic Management System

Supervisor: Mr. Nick Silver


Executive Summary

EduCoreSuite is a comprehensive, enterprise-ready academic management system that has been transformed from a functional application into a professional, modern educational platform. The system features a complete professional UI design system with consistent styling across all 35+ views, providing administrators with an intuitive interface to manage students, courses, faculty, and academic operations.

The platform combines robust functionality with professional visual design, using ASP.NET MVC, Entity Framework Core, and Microsoft SQL Server with a modern, responsive interface that inspires confidence and enhances user experience.

🔗 View Figma Prototype


PROFESSIONAL TRANSFORMATION COMPLETE

Status: 35/35 Views Completed (100%)

The EduCoreSuite has been successfully transformed into a professional, enterprise-ready educational management system with:

Modern, Intuitive User Interface - Consistent professional design across all views
Comprehensive Data Management - Full CRUD operations for all entities
Professional Visual Design - Enterprise-level styling that inspires confidence
Scalable Architecture - Ready for future enhancements and growth
Responsive Design - Works seamlessly across all device sizes
Enhanced User Experience - Intuitive navigation and professional workflows


System Architecture

LayerTechnology
FrontendASP.NET Razor Views, Bootstrap 5
BackendASP.NET MVC, Entity Framework Core
DatabaseMicrosoft SQL Server
Audit LogActivityLog for all key operations
  • Separation of concerns via MVC architecture (Models, Views, Controllers)
  • Entity Framework Code First with normalized relational database schema
  • Git-based collaboration using feature branches (e.g., vincent, gerry) merged into forge for integration and testing

📊 View System Architecture Diagram (draw.io)


Figma-Aligned UI Modules

1. Dashboard

  • Real-time statistics: today’s enrollments, weekly totals
  • Most enrolled courses (e.g., Computer Science – 1250, Nursing – 150)
  • Total faculty count
  • Activity feed with audit trail showing:
    • New enrollments
    • Course completions
    • Student registrations

Implemented by: Mercy Migendi and Brian Vuhuga


2. Register

  • Add Student Form:
    • Captures: Full name, email, gender, date of birth, national ID, county, phone number, admission number, and campus
    • Relational dropdowns for: gender, department, program, level, and campus
  • Student List:
    • Paginated, searchable list showing department, progress, academic year
  • Enrollments:
    • Enroll student into one or more courses
    • Bulk enrollment supported:
      • Multiple students to one course
      • All students to all courses
      • Filtered by program or academic year

Implemented by: Gerry Migiro, Elvis Karinge
Extended by: Elvis Karinge – for enhanced student detail capture


3. Courses & Academic Configuration (Dropdown Navigation)

The "Courses" navigation now includes a dropdown menu that leads to modular sub-pages for configuring all academic metadata. This makes the platform scalable and eliminates hardcoded values.

Submodules:

  • Course List
    • Accordion UI grouped by department
    • Each course shows: name, level, exam body, study status
  • Add Course Form
    • Relational dropdowns for: department, program, exam body, level, campus, study mode, and study status
  • Departments
  • Programs
  • Exam Bodies
  • Campuses
  • Study Modes
  • Study Levels

Each submodule allows administrators to manage institutional data dynamically from the UI, reflecting updates immediately throughout the system.

Implemented by: Vincent Omondi Owuor and Gerry Migiro


4. Reports

  • Dynamic filters:
    • Department
    • Course
    • Faculty
    • Year
    • Enrollment Status
  • Report Output Includes:
    • Student ID
    • Course
    • Department
    • Exam score
    • Grade
    • Transcript status
  • Export functionality (CSV, PDF) currently in development

[In Development]


Database Schema Overview

EduCore uses a normalized SQL Server schema with referential integrity, foreign key constraints, and support for auditability. The system is extensible, ensuring new data types or structures can be added without affecting core functionality.

Main Entities

  • Students: Stores biodata, contact information, department, gender, program, and campus
  • Courses: Defines academic offerings and links to departments, programs, levels, study modes, campuses, and exam bodies
  • Enrollments: Many-to-many relationship between students and courses, tracking enrollment status
  • ActivityLog: Captures entity operations (e.g., "Student Registered", "Course Enrolled") with user reference and timestamp

Lookup Tables

  • Departments
  • Programs
  • ExamBodies
  • Campuses
  • StudyModes
  • StudyLevels
  • Genders
  • Counties
  • StudyStatuses

Entity Relationship Highlights

  • Students ↔ Enrollments ↔ Courses (many-to-many)
  • Courses reference multiple normalized lookup entities
  • Enrollments use composite primary key (StudentID, CourseID) to enforce uniqueness
  • Audit Logs are linked to user actions for traceability

Feature Map

FeatureStatusNotes
Student RegistrationCompleteExtended to include ID number, county, campus, and contact details
Course Creation + ListingCompleteRelational form fields and department-grouped UI
Academic Configuration DropdownCompleteDynamic CRUD for all academic lookup tables
Enrollment (Single/Bulk)CompleteBatch assignments supported via filters and dropdown logic
Dashboard Metrics & ActivitiesCompleteAudit feed implemented; metrics integration in progress
Reports Filtering & ExportCompleteFiltering complete; CSV/PDF export pending
Data NormalizationCmpleteAll form inputs reference backend lookup tables
Accessibility (WCAG 2.2 AA)CompleteSemantic HTML, ARIA attributes, proper form labels

Development Standards

AreaEnforcement Details
BranchingGit feature branches → forge integration branch
CommitsConventional format: feat:, fix:, refactor:, etc.
Code ReviewsMandatory peer reviews for all pull requests
SecurityForm validation, SQL injection protection, EF-safe queries only
TestingManual UI walkthroughs, DB constraints, and schema validation
AccessibilityConformance to WCAG 2.2 AA via semantic HTML, ARIA roles, tab order

Team Roles & Division of Work

NameRoleArea of Focus
Vincent OmondiScrum MasterCourse module, academic configuration dropdowns
Gerry MigiroDeveloperStudent registration, dropdown integrations
Elvis KaringeDeveloperEnhanced student form, bulk enrollment logic
Mercy MigendiDeveloperDashboard UI and page composition
Brian VuhugaDeveloperDashboard logic, real-time metric calculations

Project supervised by Mr. Nick Silver


About

Attaches Build Project

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

EduCoreSuite – Professional Academic Management System

Supervisor: Mr. Nick Silver


Executive Summary

EduCoreSuite is a comprehensive, enterprise-ready academic management system that has been transformed from a functional application into a professional, modern educational platform. The system features a complete professional UI design system with consistent styling across all 35+ views, providing administrators with an intuitive interface to manage students, courses, faculty, and academic operations.

The platform combines robust functionality with professional visual design, using ASP.NET MVC, Entity Framework Core, and Microsoft SQL Server with a modern, responsive interface that inspires confidence and enhances user experience.

🔗 View Figma Prototype


PROFESSIONAL TRANSFORMATION COMPLETE

Status: 35/35 Views Completed (100%)

The EduCoreSuite has been successfully transformed into a professional, enterprise-ready educational management system with:

Modern, Intuitive User Interface - Consistent professional design across all views
Comprehensive Data Management - Full CRUD operations for all entities
Professional Visual Design - Enterprise-level styling that inspires confidence
Scalable Architecture - Ready for future enhancements and growth
Responsive Design - Works seamlessly across all device sizes
Enhanced User Experience - Intuitive navigation and professional workflows


System Architecture

LayerTechnology
FrontendASP.NET Razor Views, Bootstrap 5
BackendASP.NET MVC, Entity Framework Core
DatabaseMicrosoft SQL Server
Audit LogActivityLog for all key operations
  • Separation of concerns via MVC architecture (Models, Views, Controllers)
  • Entity Framework Code First with normalized relational database schema
  • Git-based collaboration using feature branches (e.g., vincent, gerry) merged into forge for integration and testing

📊 View System Architecture Diagram (draw.io)


Figma-Aligned UI Modules

1. Dashboard

  • Real-time statistics: today’s enrollments, weekly totals
  • Most enrolled courses (e.g., Computer Science – 1250, Nursing – 150)
  • Total faculty count
  • Activity feed with audit trail showing:
    • New enrollments
    • Course completions
    • Student registrations

Implemented by: Mercy Migendi and Brian Vuhuga


2. Register

  • Add Student Form:
    • Captures: Full name, email, gender, date of birth, national ID, county, phone number, admission number, and campus
    • Relational dropdowns for: gender, department, program, level, and campus
  • Student List:
    • Paginated, searchable list showing department, progress, academic year
  • Enrollments:
    • Enroll student into one or more courses
    • Bulk enrollment supported:
      • Multiple students to one course
      • All students to all courses
      • Filtered by program or academic year

Implemented by: Gerry Migiro, Elvis Karinge
Extended by: Elvis Karinge – for enhanced student detail capture


3. Courses & Academic Configuration (Dropdown Navigation)

The "Courses" navigation now includes a dropdown menu that leads to modular sub-pages for configuring all academic metadata. This makes the platform scalable and eliminates hardcoded values.

Submodules:

  • Course List
    • Accordion UI grouped by department
    • Each course shows: name, level, exam body, study status
  • Add Course Form
    • Relational dropdowns for: department, program, exam body, level, campus, study mode, and study status
  • Departments
  • Programs
  • Exam Bodies
  • Campuses
  • Study Modes
  • Study Levels

Each submodule allows administrators to manage institutional data dynamically from the UI, reflecting updates immediately throughout the system.

Implemented by: Vincent Omondi Owuor and Gerry Migiro


4. Reports

  • Dynamic filters:
    • Department
    • Course
    • Faculty
    • Year
    • Enrollment Status
  • Report Output Includes:
    • Student ID
    • Course
    • Department
    • Exam score
    • Grade
    • Transcript status
  • Export functionality (CSV, PDF) currently in development

[In Development]


Database Schema Overview

EduCore uses a normalized SQL Server schema with referential integrity, foreign key constraints, and support for auditability. The system is extensible, ensuring new data types or structures can be added without affecting core functionality.

Main Entities

  • Students: Stores biodata, contact information, department, gender, program, and campus
  • Courses: Defines academic offerings and links to departments, programs, levels, study modes, campuses, and exam bodies
  • Enrollments: Many-to-many relationship between students and courses, tracking enrollment status
  • ActivityLog: Captures entity operations (e.g., "Student Registered", "Course Enrolled") with user reference and timestamp

Lookup Tables

  • Departments
  • Programs
  • ExamBodies
  • Campuses
  • StudyModes
  • StudyLevels
  • Genders
  • Counties
  • StudyStatuses

Entity Relationship Highlights

  • Students ↔ Enrollments ↔ Courses (many-to-many)
  • Courses reference multiple normalized lookup entities
  • Enrollments use composite primary key (StudentID, CourseID) to enforce uniqueness
  • Audit Logs are linked to user actions for traceability

Feature Map

FeatureStatusNotes
Student RegistrationCompleteExtended to include ID number, county, campus, and contact details
Course Creation + ListingCompleteRelational form fields and department-grouped UI
Academic Configuration DropdownCompleteDynamic CRUD for all academic lookup tables
Enrollment (Single/Bulk)CompleteBatch assignments supported via filters and dropdown logic
Dashboard Metrics & ActivitiesCompleteAudit feed implemented; metrics integration in progress
Reports Filtering & ExportCompleteFiltering complete; CSV/PDF export pending
Data NormalizationCmpleteAll form inputs reference backend lookup tables
Accessibility (WCAG 2.2 AA)CompleteSemantic HTML, ARIA attributes, proper form labels

Development Standards

AreaEnforcement Details
BranchingGit feature branches → forge integration branch
CommitsConventional format: feat:, fix:, refactor:, etc.
Code ReviewsMandatory peer reviews for all pull requests
SecurityForm validation, SQL injection protection, EF-safe queries only
TestingManual UI walkthroughs, DB constraints, and schema validation
AccessibilityConformance to WCAG 2.2 AA via semantic HTML, ARIA roles, tab order

Team Roles & Division of Work

NameRoleArea of Focus
Vincent OmondiScrum MasterCourse module, academic configuration dropdowns
Gerry MigiroDeveloperStudent registration, dropdown integrations
Elvis KaringeDeveloperEnhanced student form, bulk enrollment logic
Mercy MigendiDeveloperDashboard UI and page composition
Brian VuhugaDeveloperDashboard logic, real-time metric calculations

Project supervised by Mr. Nick Silver


About

Attaches Build Project

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

EduCoreSuite – Professional Academic Management System

Supervisor: Mr. Nick Silver


Executive Summary

EduCoreSuite is a comprehensive, enterprise-ready academic management system that has been transformed from a functional application into a professional, modern educational platform. The system features a complete professional UI design system with consistent styling across all 35+ views, providing administrators with an intuitive interface to manage students, courses, faculty, and academic operations.

The platform combines robust functionality with professional visual design, using ASP.NET MVC, Entity Framework Core, and Microsoft SQL Server with a modern, responsive interface that inspires confidence and enhances user experience.

🔗 View Figma Prototype


PROFESSIONAL TRANSFORMATION COMPLETE

Status: 35/35 Views Completed (100%)

The EduCoreSuite has been successfully transformed into a professional, enterprise-ready educational management system with:

Modern, Intuitive User Interface - Consistent professional design across all views
Comprehensive Data Management - Full CRUD operations for all entities
Professional Visual Design - Enterprise-level styling that inspires confidence
Scalable Architecture - Ready for future enhancements and growth
Responsive Design - Works seamlessly across all device sizes
Enhanced User Experience - Intuitive navigation and professional workflows


System Architecture

LayerTechnology
FrontendASP.NET Razor Views, Bootstrap 5
BackendASP.NET MVC, Entity Framework Core
DatabaseMicrosoft SQL Server
Audit LogActivityLog for all key operations
  • Separation of concerns via MVC architecture (Models, Views, Controllers)
  • Entity Framework Code First with normalized relational database schema
  • Git-based collaboration using feature branches (e.g., vincent, gerry) merged into forge for integration and testing

📊 View System Architecture Diagram (draw.io)


Figma-Aligned UI Modules

1. Dashboard

  • Real-time statistics: today’s enrollments, weekly totals
  • Most enrolled courses (e.g., Computer Science – 1250, Nursing – 150)
  • Total faculty count
  • Activity feed with audit trail showing:
    • New enrollments
    • Course completions
    • Student registrations

Implemented by: Mercy Migendi and Brian Vuhuga


2. Register

  • Add Student Form:
    • Captures: Full name, email, gender, date of birth, national ID, county, phone number, admission number, and campus
    • Relational dropdowns for: gender, department, program, level, and campus
  • Student List:
    • Paginated, searchable list showing department, progress, academic year
  • Enrollments:
    • Enroll student into one or more courses
    • Bulk enrollment supported:
      • Multiple students to one course
      • All students to all courses
      • Filtered by program or academic year

Implemented by: Gerry Migiro, Elvis Karinge
Extended by: Elvis Karinge – for enhanced student detail capture


3. Courses & Academic Configuration (Dropdown Navigation)

The "Courses" navigation now includes a dropdown menu that leads to modular sub-pages for configuring all academic metadata. This makes the platform scalable and eliminates hardcoded values.

Submodules:

  • Course List
    • Accordion UI grouped by department
    • Each course shows: name, level, exam body, study status
  • Add Course Form
    • Relational dropdowns for: department, program, exam body, level, campus, study mode, and study status
  • Departments
  • Programs
  • Exam Bodies
  • Campuses
  • Study Modes
  • Study Levels

Each submodule allows administrators to manage institutional data dynamically from the UI, reflecting updates immediately throughout the system.

Implemented by: Vincent Omondi Owuor and Gerry Migiro


4. Reports

  • Dynamic filters:
    • Department
    • Course
    • Faculty
    • Year
    • Enrollment Status
  • Report Output Includes:
    • Student ID
    • Course
    • Department
    • Exam score
    • Grade
    • Transcript status
  • Export functionality (CSV, PDF) currently in development

[In Development]


Database Schema Overview

EduCore uses a normalized SQL Server schema with referential integrity, foreign key constraints, and support for auditability. The system is extensible, ensuring new data types or structures can be added without affecting core functionality.

Main Entities

  • Students: Stores biodata, contact information, department, gender, program, and campus
  • Courses: Defines academic offerings and links to departments, programs, levels, study modes, campuses, and exam bodies
  • Enrollments: Many-to-many relationship between students and courses, tracking enrollment status
  • ActivityLog: Captures entity operations (e.g., "Student Registered", "Course Enrolled") with user reference and timestamp

Lookup Tables

  • Departments
  • Programs
  • ExamBodies
  • Campuses
  • StudyModes
  • StudyLevels
  • Genders
  • Counties
  • StudyStatuses

Entity Relationship Highlights

  • Students ↔ Enrollments ↔ Courses (many-to-many)
  • Courses reference multiple normalized lookup entities
  • Enrollments use composite primary key (StudentID, CourseID) to enforce uniqueness
  • Audit Logs are linked to user actions for traceability

Feature Map

FeatureStatusNotes
Student RegistrationCompleteExtended to include ID number, county, campus, and contact details
Course Creation + ListingCompleteRelational form fields and department-grouped UI
Academic Configuration DropdownCompleteDynamic CRUD for all academic lookup tables
Enrollment (Single/Bulk)CompleteBatch assignments supported via filters and dropdown logic
Dashboard Metrics & ActivitiesCompleteAudit feed implemented; metrics integration in progress
Reports Filtering & ExportCompleteFiltering complete; CSV/PDF export pending
Data NormalizationCmpleteAll form inputs reference backend lookup tables
Accessibility (WCAG 2.2 AA)CompleteSemantic HTML, ARIA attributes, proper form labels

Development Standards

AreaEnforcement Details
BranchingGit feature branches → forge integration branch
CommitsConventional format: feat:, fix:, refactor:, etc.
Code ReviewsMandatory peer reviews for all pull requests
SecurityForm validation, SQL injection protection, EF-safe queries only
TestingManual UI walkthroughs, DB constraints, and schema validation
AccessibilityConformance to WCAG 2.2 AA via semantic HTML, ARIA roles, tab order

Team Roles & Division of Work

NameRoleArea of Focus
Vincent OmondiScrum MasterCourse module, academic configuration dropdowns
Gerry MigiroDeveloperStudent registration, dropdown integrations
Elvis KaringeDeveloperEnhanced student form, bulk enrollment logic
Mercy MigendiDeveloperDashboard UI and page composition
Brian VuhugaDeveloperDashboard logic, real-time metric calculations

Project supervised by Mr. Nick Silver


About

Attaches Build Project

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

EduCoreSuite – Professional Academic Management System

Supervisor: Mr. Nick Silver


Executive Summary

EduCoreSuite is a comprehensive, enterprise-ready academic management system that has been transformed from a functional application into a professional, modern educational platform. The system features a complete professional UI design system with consistent styling across all 35+ views, providing administrators with an intuitive interface to manage students, courses, faculty, and academic operations.

The platform combines robust functionality with professional visual design, using ASP.NET MVC, Entity Framework Core, and Microsoft SQL Server with a modern, responsive interface that inspires confidence and enhances user experience.

🔗 View Figma Prototype


PROFESSIONAL TRANSFORMATION COMPLETE

Status: 35/35 Views Completed (100%)

The EduCoreSuite has been successfully transformed into a professional, enterprise-ready educational management system with:

Modern, Intuitive User Interface - Consistent professional design across all views
Comprehensive Data Management - Full CRUD operations for all entities
Professional Visual Design - Enterprise-level styling that inspires confidence
Scalable Architecture - Ready for future enhancements and growth
Responsive Design - Works seamlessly across all device sizes
Enhanced User Experience - Intuitive navigation and professional workflows


System Architecture

LayerTechnology
FrontendASP.NET Razor Views, Bootstrap 5
BackendASP.NET MVC, Entity Framework Core
DatabaseMicrosoft SQL Server
Audit LogActivityLog for all key operations
  • Separation of concerns via MVC architecture (Models, Views, Controllers)
  • Entity Framework Code First with normalized relational database schema
  • Git-based collaboration using feature branches (e.g., vincent, gerry) merged into forge for integration and testing

📊 View System Architecture Diagram (draw.io)


Figma-Aligned UI Modules

1. Dashboard

  • Real-time statistics: today’s enrollments, weekly totals
  • Most enrolled courses (e.g., Computer Science – 1250, Nursing – 150)
  • Total faculty count
  • Activity feed with audit trail showing:
    • New enrollments
    • Course completions
    • Student registrations

Implemented by: Mercy Migendi and Brian Vuhuga


2. Register

  • Add Student Form:
    • Captures: Full name, email, gender, date of birth, national ID, county, phone number, admission number, and campus
    • Relational dropdowns for: gender, department, program, level, and campus
  • Student List:
    • Paginated, searchable list showing department, progress, academic year
  • Enrollments:
    • Enroll student into one or more courses
    • Bulk enrollment supported:
      • Multiple students to one course
      • All students to all courses
      • Filtered by program or academic year

Implemented by: Gerry Migiro, Elvis Karinge
Extended by: Elvis Karinge – for enhanced student detail capture


3. Courses & Academic Configuration (Dropdown Navigation)

The "Courses" navigation now includes a dropdown menu that leads to modular sub-pages for configuring all academic metadata. This makes the platform scalable and eliminates hardcoded values.

Submodules:

  • Course List
    • Accordion UI grouped by department
    • Each course shows: name, level, exam body, study status
  • Add Course Form
    • Relational dropdowns for: department, program, exam body, level, campus, study mode, and study status
  • Departments
  • Programs
  • Exam Bodies
  • Campuses
  • Study Modes
  • Study Levels

Each submodule allows administrators to manage institutional data dynamically from the UI, reflecting updates immediately throughout the system.

Implemented by: Vincent Omondi Owuor and Gerry Migiro


4. Reports

  • Dynamic filters:
    • Department
    • Course
    • Faculty
    • Year
    • Enrollment Status
  • Report Output Includes:
    • Student ID
    • Course
    • Department
    • Exam score
    • Grade
    • Transcript status
  • Export functionality (CSV, PDF) currently in development

[In Development]


Database Schema Overview

EduCore uses a normalized SQL Server schema with referential integrity, foreign key constraints, and support for auditability. The system is extensible, ensuring new data types or structures can be added without affecting core functionality.

Main Entities

  • Students: Stores biodata, contact information, department, gender, program, and campus
  • Courses: Defines academic offerings and links to departments, programs, levels, study modes, campuses, and exam bodies
  • Enrollments: Many-to-many relationship between students and courses, tracking enrollment status
  • ActivityLog: Captures entity operations (e.g., "Student Registered", "Course Enrolled") with user reference and timestamp

Lookup Tables

  • Departments
  • Programs
  • ExamBodies
  • Campuses
  • StudyModes
  • StudyLevels
  • Genders
  • Counties
  • StudyStatuses

Entity Relationship Highlights

  • Students ↔ Enrollments ↔ Courses (many-to-many)
  • Courses reference multiple normalized lookup entities
  • Enrollments use composite primary key (StudentID, CourseID) to enforce uniqueness
  • Audit Logs are linked to user actions for traceability

Feature Map

FeatureStatusNotes
Student RegistrationCompleteExtended to include ID number, county, campus, and contact details
Course Creation + ListingCompleteRelational form fields and department-grouped UI
Academic Configuration DropdownCompleteDynamic CRUD for all academic lookup tables
Enrollment (Single/Bulk)CompleteBatch assignments supported via filters and dropdown logic
Dashboard Metrics & ActivitiesCompleteAudit feed implemented; metrics integration in progress
Reports Filtering & ExportCompleteFiltering complete; CSV/PDF export pending
Data NormalizationCmpleteAll form inputs reference backend lookup tables
Accessibility (WCAG 2.2 AA)CompleteSemantic HTML, ARIA attributes, proper form labels

Development Standards

AreaEnforcement Details
BranchingGit feature branches → forge integration branch
CommitsConventional format: feat:, fix:, refactor:, etc.
Code ReviewsMandatory peer reviews for all pull requests
SecurityForm validation, SQL injection protection, EF-safe queries only
TestingManual UI walkthroughs, DB constraints, and schema validation
AccessibilityConformance to WCAG 2.2 AA via semantic HTML, ARIA roles, tab order

Team Roles & Division of Work

NameRoleArea of Focus
Vincent OmondiScrum MasterCourse module, academic configuration dropdowns
Gerry MigiroDeveloperStudent registration, dropdown integrations
Elvis KaringeDeveloperEnhanced student form, bulk enrollment logic
Mercy MigendiDeveloperDashboard UI and page composition
Brian VuhugaDeveloperDashboard logic, real-time metric calculations

Project supervised by Mr. Nick Silver


About

Attaches Build Project

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

EduCoreSuite – Professional Academic Management System

Supervisor: Mr. Nick Silver


Executive Summary

EduCoreSuite is a comprehensive, enterprise-ready academic management system that has been transformed from a functional application into a professional, modern educational platform. The system features a complete professional UI design system with consistent styling across all 35+ views, providing administrators with an intuitive interface to manage students, courses, faculty, and academic operations.

The platform combines robust functionality with professional visual design, using ASP.NET MVC, Entity Framework Core, and Microsoft SQL Server with a modern, responsive interface that inspires confidence and enhances user experience.

🔗 View Figma Prototype


PROFESSIONAL TRANSFORMATION COMPLETE

Status: 35/35 Views Completed (100%)

The EduCoreSuite has been successfully transformed into a professional, enterprise-ready educational management system with:

Modern, Intuitive User Interface - Consistent professional design across all views
Comprehensive Data Management - Full CRUD operations for all entities
Professional Visual Design - Enterprise-level styling that inspires confidence
Scalable Architecture - Ready for future enhancements and growth
Responsive Design - Works seamlessly across all device sizes
Enhanced User Experience - Intuitive navigation and professional workflows


System Architecture

LayerTechnology
FrontendASP.NET Razor Views, Bootstrap 5
BackendASP.NET MVC, Entity Framework Core
DatabaseMicrosoft SQL Server
Audit LogActivityLog for all key operations
  • Separation of concerns via MVC architecture (Models, Views, Controllers)
  • Entity Framework Code First with normalized relational database schema
  • Git-based collaboration using feature branches (e.g., vincent, gerry) merged into forge for integration and testing

📊 View System Architecture Diagram (draw.io)


Figma-Aligned UI Modules

1. Dashboard

  • Real-time statistics: today’s enrollments, weekly totals
  • Most enrolled courses (e.g., Computer Science – 1250, Nursing – 150)
  • Total faculty count
  • Activity feed with audit trail showing:
    • New enrollments
    • Course completions
    • Student registrations

Implemented by: Mercy Migendi and Brian Vuhuga


2. Register

  • Add Student Form:
    • Captures: Full name, email, gender, date of birth, national ID, county, phone number, admission number, and campus
    • Relational dropdowns for: gender, department, program, level, and campus
  • Student List:
    • Paginated, searchable list showing department, progress, academic year
  • Enrollments:
    • Enroll student into one or more courses
    • Bulk enrollment supported:
      • Multiple students to one course
      • All students to all courses
      • Filtered by program or academic year

Implemented by: Gerry Migiro, Elvis Karinge
Extended by: Elvis Karinge – for enhanced student detail capture


3. Courses & Academic Configuration (Dropdown Navigation)

The "Courses" navigation now includes a dropdown menu that leads to modular sub-pages for configuring all academic metadata. This makes the platform scalable and eliminates hardcoded values.

Submodules:

  • Course List
    • Accordion UI grouped by department
    • Each course shows: name, level, exam body, study status
  • Add Course Form
    • Relational dropdowns for: department, program, exam body, level, campus, study mode, and study status
  • Departments
  • Programs
  • Exam Bodies
  • Campuses
  • Study Modes
  • Study Levels

Each submodule allows administrators to manage institutional data dynamically from the UI, reflecting updates immediately throughout the system.

Implemented by: Vincent Omondi Owuor and Gerry Migiro


4. Reports

  • Dynamic filters:
    • Department
    • Course
    • Faculty
    • Year
    • Enrollment Status
  • Report Output Includes:
    • Student ID
    • Course
    • Department
    • Exam score
    • Grade
    • Transcript status
  • Export functionality (CSV, PDF) currently in development

[In Development]


Database Schema Overview

EduCore uses a normalized SQL Server schema with referential integrity, foreign key constraints, and support for auditability. The system is extensible, ensuring new data types or structures can be added without affecting core functionality.

Main Entities

  • Students: Stores biodata, contact information, department, gender, program, and campus
  • Courses: Defines academic offerings and links to departments, programs, levels, study modes, campuses, and exam bodies
  • Enrollments: Many-to-many relationship between students and courses, tracking enrollment status
  • ActivityLog: Captures entity operations (e.g., "Student Registered", "Course Enrolled") with user reference and timestamp

Lookup Tables

  • Departments
  • Programs
  • ExamBodies
  • Campuses
  • StudyModes
  • StudyLevels
  • Genders
  • Counties
  • StudyStatuses

Entity Relationship Highlights

  • Students ↔ Enrollments ↔ Courses (many-to-many)
  • Courses reference multiple normalized lookup entities
  • Enrollments use composite primary key (StudentID, CourseID) to enforce uniqueness
  • Audit Logs are linked to user actions for traceability

Feature Map

FeatureStatusNotes
Student RegistrationCompleteExtended to include ID number, county, campus, and contact details
Course Creation + ListingCompleteRelational form fields and department-grouped UI
Academic Configuration DropdownCompleteDynamic CRUD for all academic lookup tables
Enrollment (Single/Bulk)CompleteBatch assignments supported via filters and dropdown logic
Dashboard Metrics & ActivitiesCompleteAudit feed implemented; metrics integration in progress
Reports Filtering & ExportCompleteFiltering complete; CSV/PDF export pending
Data NormalizationCmpleteAll form inputs reference backend lookup tables
Accessibility (WCAG 2.2 AA)CompleteSemantic HTML, ARIA attributes, proper form labels

Development Standards

AreaEnforcement Details
BranchingGit feature branches → forge integration branch
CommitsConventional format: feat:, fix:, refactor:, etc.
Code ReviewsMandatory peer reviews for all pull requests
SecurityForm validation, SQL injection protection, EF-safe queries only
TestingManual UI walkthroughs, DB constraints, and schema validation
AccessibilityConformance to WCAG 2.2 AA via semantic HTML, ARIA roles, tab order

Team Roles & Division of Work

NameRoleArea of Focus
Vincent OmondiScrum MasterCourse module, academic configuration dropdowns
Gerry MigiroDeveloperStudent registration, dropdown integrations
Elvis KaringeDeveloperEnhanced student form, bulk enrollment logic
Mercy MigendiDeveloperDashboard UI and page composition
Brian VuhugaDeveloperDashboard logic, real-time metric calculations

Project supervised by Mr. Nick Silver


About

Attaches Build Project

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

EduCoreSuite – Professional Academic Management System

Supervisor: Mr. Nick Silver


Executive Summary

EduCoreSuite is a comprehensive, enterprise-ready academic management system that has been transformed from a functional application into a professional, modern educational platform. The system features a complete professional UI design system with consistent styling across all 35+ views, providing administrators with an intuitive interface to manage students, courses, faculty, and academic operations.

The platform combines robust functionality with professional visual design, using ASP.NET MVC, Entity Framework Core, and Microsoft SQL Server with a modern, responsive interface that inspires confidence and enhances user experience.

🔗 View Figma Prototype


PROFESSIONAL TRANSFORMATION COMPLETE

Status: 35/35 Views Completed (100%)

The EduCoreSuite has been successfully transformed into a professional, enterprise-ready educational management system with:

Modern, Intuitive User Interface - Consistent professional design across all views
Comprehensive Data Management - Full CRUD operations for all entities
Professional Visual Design - Enterprise-level styling that inspires confidence
Scalable Architecture - Ready for future enhancements and growth
Responsive Design - Works seamlessly across all device sizes
Enhanced User Experience - Intuitive navigation and professional workflows


System Architecture

LayerTechnology
FrontendASP.NET Razor Views, Bootstrap 5
BackendASP.NET MVC, Entity Framework Core
DatabaseMicrosoft SQL Server
Audit LogActivityLog for all key operations
  • Separation of concerns via MVC architecture (Models, Views, Controllers)
  • Entity Framework Code First with normalized relational database schema
  • Git-based collaboration using feature branches (e.g., vincent, gerry) merged into forge for integration and testing

📊 View System Architecture Diagram (draw.io)


Figma-Aligned UI Modules

1. Dashboard

  • Real-time statistics: today’s enrollments, weekly totals
  • Most enrolled courses (e.g., Computer Science – 1250, Nursing – 150)
  • Total faculty count
  • Activity feed with audit trail showing:
    • New enrollments
    • Course completions
    • Student registrations

Implemented by: Mercy Migendi and Brian Vuhuga


2. Register

  • Add Student Form:
    • Captures: Full name, email, gender, date of birth, national ID, county, phone number, admission number, and campus
    • Relational dropdowns for: gender, department, program, level, and campus
  • Student List:
    • Paginated, searchable list showing department, progress, academic year
  • Enrollments:
    • Enroll student into one or more courses
    • Bulk enrollment supported:
      • Multiple students to one course
      • All students to all courses
      • Filtered by program or academic year

Implemented by: Gerry Migiro, Elvis Karinge
Extended by: Elvis Karinge – for enhanced student detail capture


3. Courses & Academic Configuration (Dropdown Navigation)

The "Courses" navigation now includes a dropdown menu that leads to modular sub-pages for configuring all academic metadata. This makes the platform scalable and eliminates hardcoded values.

Submodules:

  • Course List
    • Accordion UI grouped by department
    • Each course shows: name, level, exam body, study status
  • Add Course Form
    • Relational dropdowns for: department, program, exam body, level, campus, study mode, and study status
  • Departments
  • Programs
  • Exam Bodies
  • Campuses
  • Study Modes
  • Study Levels

Each submodule allows administrators to manage institutional data dynamically from the UI, reflecting updates immediately throughout the system.

Implemented by: Vincent Omondi Owuor and Gerry Migiro


4. Reports

  • Dynamic filters:
    • Department
    • Course
    • Faculty
    • Year
    • Enrollment Status
  • Report Output Includes:
    • Student ID
    • Course
    • Department
    • Exam score
    • Grade
    • Transcript status
  • Export functionality (CSV, PDF) currently in development

[In Development]


Database Schema Overview

EduCore uses a normalized SQL Server schema with referential integrity, foreign key constraints, and support for auditability. The system is extensible, ensuring new data types or structures can be added without affecting core functionality.

Main Entities

  • Students: Stores biodata, contact information, department, gender, program, and campus
  • Courses: Defines academic offerings and links to departments, programs, levels, study modes, campuses, and exam bodies
  • Enrollments: Many-to-many relationship between students and courses, tracking enrollment status
  • ActivityLog: Captures entity operations (e.g., "Student Registered", "Course Enrolled") with user reference and timestamp

Lookup Tables

  • Departments
  • Programs
  • ExamBodies
  • Campuses
  • StudyModes
  • StudyLevels
  • Genders
  • Counties
  • StudyStatuses

Entity Relationship Highlights

  • Students ↔ Enrollments ↔ Courses (many-to-many)
  • Courses reference multiple normalized lookup entities
  • Enrollments use composite primary key (StudentID, CourseID) to enforce uniqueness
  • Audit Logs are linked to user actions for traceability

Feature Map

FeatureStatusNotes
Student RegistrationCompleteExtended to include ID number, county, campus, and contact details
Course Creation + ListingCompleteRelational form fields and department-grouped UI
Academic Configuration DropdownCompleteDynamic CRUD for all academic lookup tables
Enrollment (Single/Bulk)CompleteBatch assignments supported via filters and dropdown logic
Dashboard Metrics & ActivitiesCompleteAudit feed implemented; metrics integration in progress
Reports Filtering & ExportCompleteFiltering complete; CSV/PDF export pending
Data NormalizationCmpleteAll form inputs reference backend lookup tables
Accessibility (WCAG 2.2 AA)CompleteSemantic HTML, ARIA attributes, proper form labels

Development Standards

AreaEnforcement Details
BranchingGit feature branches → forge integration branch
CommitsConventional format: feat:, fix:, refactor:, etc.
Code ReviewsMandatory peer reviews for all pull requests
SecurityForm validation, SQL injection protection, EF-safe queries only
TestingManual UI walkthroughs, DB constraints, and schema validation
AccessibilityConformance to WCAG 2.2 AA via semantic HTML, ARIA roles, tab order

Team Roles & Division of Work

NameRoleArea of Focus
Vincent OmondiScrum MasterCourse module, academic configuration dropdowns
Gerry MigiroDeveloperStudent registration, dropdown integrations
Elvis KaringeDeveloperEnhanced student form, bulk enrollment logic
Mercy MigendiDeveloperDashboard UI and page composition
Brian VuhugaDeveloperDashboard logic, real-time metric calculations

Project supervised by Mr. Nick Silver


About

Attaches Build Project

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

EduCoreSuite – Professional Academic Management System

Supervisor: Mr. Nick Silver


Executive Summary

EduCoreSuite is a comprehensive, enterprise-ready academic management system that has been transformed from a functional application into a professional, modern educational platform. The system features a complete professional UI design system with consistent styling across all 35+ views, providing administrators with an intuitive interface to manage students, courses, faculty, and academic operations.

The platform combines robust functionality with professional visual design, using ASP.NET MVC, Entity Framework Core, and Microsoft SQL Server with a modern, responsive interface that inspires confidence and enhances user experience.

🔗 View Figma Prototype


PROFESSIONAL TRANSFORMATION COMPLETE

Status: 35/35 Views Completed (100%)

The EduCoreSuite has been successfully transformed into a professional, enterprise-ready educational management system with:

Modern, Intuitive User Interface - Consistent professional design across all views
Comprehensive Data Management - Full CRUD operations for all entities
Professional Visual Design - Enterprise-level styling that inspires confidence
Scalable Architecture - Ready for future enhancements and growth
Responsive Design - Works seamlessly across all device sizes
Enhanced User Experience - Intuitive navigation and professional workflows


System Architecture

LayerTechnology
FrontendASP.NET Razor Views, Bootstrap 5
BackendASP.NET MVC, Entity Framework Core
DatabaseMicrosoft SQL Server
Audit LogActivityLog for all key operations
  • Separation of concerns via MVC architecture (Models, Views, Controllers)
  • Entity Framework Code First with normalized relational database schema
  • Git-based collaboration using feature branches (e.g., vincent, gerry) merged into forge for integration and testing

📊 View System Architecture Diagram (draw.io)


Figma-Aligned UI Modules

1. Dashboard

  • Real-time statistics: today’s enrollments, weekly totals
  • Most enrolled courses (e.g., Computer Science – 1250, Nursing – 150)
  • Total faculty count
  • Activity feed with audit trail showing:
    • New enrollments
    • Course completions
    • Student registrations

Implemented by: Mercy Migendi and Brian Vuhuga


2. Register

  • Add Student Form:
    • Captures: Full name, email, gender, date of birth, national ID, county, phone number, admission number, and campus
    • Relational dropdowns for: gender, department, program, level, and campus
  • Student List:
    • Paginated, searchable list showing department, progress, academic year
  • Enrollments:
    • Enroll student into one or more courses
    • Bulk enrollment supported:
      • Multiple students to one course
      • All students to all courses
      • Filtered by program or academic year

Implemented by: Gerry Migiro, Elvis Karinge
Extended by: Elvis Karinge – for enhanced student detail capture


3. Courses & Academic Configuration (Dropdown Navigation)

The "Courses" navigation now includes a dropdown menu that leads to modular sub-pages for configuring all academic metadata. This makes the platform scalable and eliminates hardcoded values.

Submodules:

  • Course List
    • Accordion UI grouped by department
    • Each course shows: name, level, exam body, study status
  • Add Course Form
    • Relational dropdowns for: department, program, exam body, level, campus, study mode, and study status
  • Departments
  • Programs
  • Exam Bodies
  • Campuses
  • Study Modes
  • Study Levels

Each submodule allows administrators to manage institutional data dynamically from the UI, reflecting updates immediately throughout the system.

Implemented by: Vincent Omondi Owuor and Gerry Migiro


4. Reports

  • Dynamic filters:
    • Department
    • Course
    • Faculty
    • Year
    • Enrollment Status
  • Report Output Includes:
    • Student ID
    • Course
    • Department
    • Exam score
    • Grade
    • Transcript status
  • Export functionality (CSV, PDF) currently in development

[In Development]


Database Schema Overview

EduCore uses a normalized SQL Server schema with referential integrity, foreign key constraints, and support for auditability. The system is extensible, ensuring new data types or structures can be added without affecting core functionality.

Main Entities

  • Students: Stores biodata, contact information, department, gender, program, and campus
  • Courses: Defines academic offerings and links to departments, programs, levels, study modes, campuses, and exam bodies
  • Enrollments: Many-to-many relationship between students and courses, tracking enrollment status
  • ActivityLog: Captures entity operations (e.g., "Student Registered", "Course Enrolled") with user reference and timestamp

Lookup Tables

  • Departments
  • Programs
  • ExamBodies
  • Campuses
  • StudyModes
  • StudyLevels
  • Genders
  • Counties
  • StudyStatuses

Entity Relationship Highlights

  • Students ↔ Enrollments ↔ Courses (many-to-many)
  • Courses reference multiple normalized lookup entities
  • Enrollments use composite primary key (StudentID, CourseID) to enforce uniqueness
  • Audit Logs are linked to user actions for traceability

Feature Map

FeatureStatusNotes
Student RegistrationCompleteExtended to include ID number, county, campus, and contact details
Course Creation + ListingCompleteRelational form fields and department-grouped UI
Academic Configuration DropdownCompleteDynamic CRUD for all academic lookup tables
Enrollment (Single/Bulk)CompleteBatch assignments supported via filters and dropdown logic
Dashboard Metrics & ActivitiesCompleteAudit feed implemented; metrics integration in progress
Reports Filtering & ExportCompleteFiltering complete; CSV/PDF export pending
Data NormalizationCmpleteAll form inputs reference backend lookup tables
Accessibility (WCAG 2.2 AA)CompleteSemantic HTML, ARIA attributes, proper form labels

Development Standards

AreaEnforcement Details
BranchingGit feature branches → forge integration branch
CommitsConventional format: feat:, fix:, refactor:, etc.
Code ReviewsMandatory peer reviews for all pull requests
SecurityForm validation, SQL injection protection, EF-safe queries only
TestingManual UI walkthroughs, DB constraints, and schema validation
AccessibilityConformance to WCAG 2.2 AA via semantic HTML, ARIA roles, tab order

Team Roles & Division of Work

NameRoleArea of Focus
Vincent OmondiScrum MasterCourse module, academic configuration dropdowns
Gerry MigiroDeveloperStudent registration, dropdown integrations
Elvis KaringeDeveloperEnhanced student form, bulk enrollment logic
Mercy MigendiDeveloperDashboard UI and page composition
Brian VuhugaDeveloperDashboard logic, real-time metric calculations

Project supervised by Mr. Nick Silver


About

Attaches Build Project

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages