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.
Getting Started
Architecture
API Reference
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
Quick Links
Backend & API
Section |
Description |
|---|---|
Installation and setup guide |
|
API conventions and common patterns |
|
Login, tokens, and security |
|
System design and patterns |
|
Advanced query filtering |
Frontend
Section |
Description |
|---|---|
Frontend development guide |
|
Angular architecture patterns |
|
Frontend-backend integration |
Operations
Section |
Description |
|---|---|
Docker & Kubernetes deployment |
|
LMS integration guide |
|
Learning Tools Interoperability |
|
Single Sign-On configuration |
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 |
|
User account management |
Roles |
|
Role and permission management |
Teams |
|
Organization/campus management |
Academic Modules
Module |
Endpoint |
Description |
|---|---|---|
Students |
|
Student profiles and enrollment |
Teachers |
|
Teacher profiles |
Classes |
|
Homeroom classes |
Courses |
|
Course management |
Subjects |
|
Subject definitions |
Timetables |
|
Schedule management |
Attendance |
|
Attendance tracking |
Gradebooks |
|
Grade management |
Assessments |
|
Assessment/assignment management |
Administrative Modules
Module |
Endpoint |
Description |
|---|---|---|
Academic Sessions |
|
School year management |
Semesters |
|
Semester/term definitions |
Programs |
|
Academic programs |
Facilities |
|
Building/campus facilities |
Health & Welfare Modules
Module |
Endpoint |
Description |
|---|---|---|
Medical Records |
|
Student health records |
Medical Care |
|
Health care tracking |
Vaccinations |
|
Vaccination records |
Behaviors |
|
Behavior tracking |
Support
For issues and feature requests, please contact:
GitHub Issues: Repository Issues
Email: support@yourschool.edu