B12 Student Information System Documentation

Welcome to the B12 SIS documentation. This comprehensive guide covers all aspects of the Student Information System for K-12 educational institutions.

Guides

Overview

B12 SIS is a full-stack Student Information System built with:

  • Backend: Go 1.23+ with Gin framework, MySQL, Clean Architecture

  • Frontend: Angular 19 with Material Design, lazy-loaded modules

  • Infrastructure: Docker containers deployed on Kubernetes with Helm

  • Authentication: JWT with access/refresh token rotation

Key Features

Core Functionality

  • Multi-tenancy: Team-based data isolation for managing multiple campuses/schools

  • Role-based Access Control: Granular permissions system

  • Audit Trail: Comprehensive logging of all data changes

  • Internationalization: Built-in support for English and Vietnamese

Academic Management

  • Student enrollment and profiles

  • Teacher management

  • Class and course management

  • Timetable scheduling

  • Attendance tracking

  • Gradebook and report cards

Integration

  • Canvas LMS: Full integration with Canvas for course sync, assignments, and grades

  • LTI 1.3: Learning Tools Interoperability support

  • OIDC/SSO: Single Sign-On with external identity providers

API Base URL

All API endpoints are prefixed with /api:

Production: https://api.yourschool.edu/api
Development: http://localhost:8080/api

Authentication

Most endpoints require authentication via JWT Bearer token:

curl -H "Authorization: Bearer YOUR_TOKEN" \
     -H "X-Team-ID: YOUR_TEAM_ID" \
     https://api.yourschool.edu/api/students/list

Response Format

All API responses follow a consistent format:

Success Response:

{
  "success": true,
  "message": "Operation completed",
  "data": { ... }
}

Error Response:

{
  "success": false,
  "message": "Error description",
  "errors": { ... }
}

List Response:

{
  "success": true,
  "message": "Records retrieved",
  "data": {
    "list": [...],
    "pagination": {
      "page": 1,
      "limit": 20,
      "total": 100
    }
  }
}

Modules Overview

Core Modules

Module

Endpoint

Description

Users

/api/users

User account management

Roles

/api/roles

Role and permission management

Teams

/api/teams

Organization/campus management

Academic Modules

Module

Endpoint

Description

Students

/api/students

Student profiles and enrollment

Teachers

/api/teachers

Teacher profiles

Classes

/api/classes

Homeroom classes

Courses

/api/courses

Course management

Subjects

/api/subjects

Subject definitions

Timetables

/api/timetables

Schedule management

Attendance

/api/attendances

Attendance tracking

Gradebooks

/api/gradebooks

Grade management

Assessments

/api/assessments

Assessment/assignment management

Administrative Modules

Module

Endpoint

Description

Academic Sessions

/api/academic_sessions

School year management

Semesters

/api/semesters

Semester/term definitions

Programs

/api/programs

Academic programs

Facilities

/api/facilities

Building/campus facilities

Health & Welfare Modules

Module

Endpoint

Description

Medical Records

/api/medical_records

Student health records

Medical Care

/api/medical_cares

Health care tracking

Vaccinations

/api/vaccinations

Vaccination records

Behaviors

/api/behaviors

Behavior tracking

Support

For issues and feature requests, please contact: