# 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. ```{toctree} :maxdepth: 2 :caption: Getting Started getting-started/installation getting-started/configuration getting-started/quickstart ``` ```{toctree} :maxdepth: 2 :caption: Architecture architecture/overview architecture/generic-crud architecture/multi-tenancy architecture/job-system ``` ```{toctree} :maxdepth: 2 :caption: Frontend frontend/development-guide frontend/architecture ``` ```{toctree} :maxdepth: 2 :caption: API Reference api/overview api/authentication api/modules/users api/modules/roles api/modules/teams api/modules/students api/modules/teachers api/modules/classes api/modules/courses api/modules/academic-sessions api/modules/timetables api/modules/attendance api/modules/behaviors api/modules/gradebooks api/modules/assessments api/modules/report-cards api/modules/medical-records api/modules/medical-care api/modules/vaccinations api/modules/audit-logs api/modules/import-data api/modules/system-settings ``` ```{toctree} :maxdepth: 2 :caption: Guides guides/filter-system guides/import-system guides/api-integration guides/deployment guides/canvas-integration guides/lti-integration guides/oidc-setup ``` ## 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 | |---------|-------------| | [Getting Started](getting-started/installation.md) | Installation and setup guide | | [API Overview](api/overview.md) | API conventions and common patterns | | [Authentication](api/authentication.md) | Login, tokens, and security | | [Architecture](architecture/overview.md) | System design and patterns | | [Filter System](guides/filter-system.md) | Advanced query filtering | ### Frontend | Section | Description | |---------|-------------| | [Development Guide](frontend/development-guide.md) | Frontend development guide | | [Frontend Architecture](frontend/architecture.md) | Angular architecture patterns | | [API Integration](guides/api-integration.md) | Frontend-backend integration | ### Operations | Section | Description | |---------|-------------| | [Deployment Guide](guides/deployment.md) | Docker & Kubernetes deployment | | [Canvas Integration](guides/canvas-integration.md) | LMS integration guide | | [LTI Integration](guides/lti-integration.md) | Learning Tools Interoperability | | [OIDC/SSO Setup](guides/oidc-setup.md) | 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: ```bash 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:** ```json { "success": true, "message": "Operation completed", "data": { ... } } ``` **Error Response:** ```json { "success": false, "message": "Error description", "errors": { ... } } ``` **List Response:** ```json { "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: - GitHub Issues: [Repository Issues](https://github.com/trankhanhtoan96/b12-backend/issues) - Email: support@yourschool.edu