Batmen.cc


Semestrr

A University Course Management System

Date: []

Semestrr is an Academic Management System (AMS) designed to enable students to manage their courses effectively throughout a semester. An academic management system is a comprehensive software solution designed to simplify and streamline administrative and academic processes within educational institutions.

Introduction

Description

Semestrr offers a cost-effective academic management solution is tailored for schools and universities, eliminating the need for institutions to develop their own systems while being far more affordable over its competitor. Semestrr addresses the minimal features required by students to self-manage their courses and track their academic progress, while also providing essential tools for staff and lecturers. By digitizing and centralizing information, an academic management system provides administrators, faculty, staff, and students with an integrated platform to manage and access crucial data and resources.

Motivation

I was approached by some private schools and campuses, looking to implement their own AMS. Many of these institutions operated with small margins and are unable to afford expensive Academic Management System, nor they have the resources to develop their own. Besides, with the increasing complexity of managing academics and universities, these systems have emerged as valuable tools to enhance efficiency, improve communication, and automate various tasks. I plan to open-source Semestrr backend module, while at the same time I am selling support and consultancy services or managed hosting to finance the development of this Semestrr project.

Core Features

  1. User Account Management

    • Create and manage user accounts
    • User roles: staff, lecturer/teacher, and student
    • Account self-activation (users activate and set their account passwords themselves)
    • SSO Integration with OAuth, LDAP, or Active Directory
  2. Course Management

    • Create, edit, and delete courses
    • Assign lecturers to courses
    • Manage course schedules and timetables
    • View course details and syllabi
  3. Enrollment Management

    • Student self-enrollment in courses
    • Staff-managed enrollment and waitlisting
    • Drop/add course functionality for students
    • Enrollment reports and analytics
  4. Classroom and Facility Management

    • Manage classrooms and other facilities
    • Book and reserve classrooms and facilities
    • View classroom and facility availability
  5. News and Announcements

    • News portal to post news for all roles and specific roles
    • Targeted announcements for specific courses or groups
    • Email notifications for important updates
  6. Academic Progress Tracking

    • View grades and academic performance
    • Track attendance and participation
    • Generate academic transcripts and reports
  7. Communication Tools

    • Internal messaging system for students, staff, and lecturers
    • Discussion forums for courses
    • Email integration for official communications
  8. Document Management

    • Upload and manage course materials (e.g., lecture notes, assignments)
    • Submit and manage assignments
    • Access to a digital library of resources
  9. Calendar and Scheduling

    • Academic calendar with important dates
    • Personalized student and lecturer schedules
    • Integration with external calendar services (e.g., Google Calendar)
  10. Reporting and Analytics

    • Generate reports on enrollment, attendance, and academic performance
    • Analytics dashboard for administrators and lecturers
    • Export reports in various formats (e.g., PDF, Excel)

Project Stack

Frontend

  1. TypeScript - a typed superset of JavaScript
  2. Next.JS - a React based frontend framework
  3. Tailwind - a CSS styling tool

Backend

  1. Golang
  2. Echo v4 - routing and http library
  3. GORM - Object Relational Mapper
  4. migrate - Database migration tool
  5. MariaDB - relational database management system

Deployment:

  1. Docker
  2. Linux

Note: This page in incomplete as project is under development and no working release yet. We will update this page over time.