Skip to content

Latest commit

 

History

History
152 lines (142 loc) · 5 KB

ROADMAP.md

File metadata and controls

152 lines (142 loc) · 5 KB

ScholarSuite Roadmap

Introduction

ScholarSuite 1.0 is a school management application that allows for managing users, school levels, classes, students, attendance, disciplinary reports, and more.

Technologies

Features

  • User management
    • First name
    • Last name
    • Email (optional)
    • Password (hashed)
    • Role (teacher or administrator represented by an integer)
    • State (enabled or disabled)
    • Creation date (internal use)
    • Modification date (internal use)
  • School level management Represents school levels (primary, secondary, etc.)
    • Name
    • Order, allowing to give an order to the school levels
    • Creation date (internal use)
    • Modification date (internal use)
  • Class management Represents classes (1a, 1b, 2a, 2b, etc...) of a school level.
    • Name
    • School level
    • Creation date (internal use)
    • Modification date (internal use)
  • Student management
    • First name
    • Last name
    • Date of birth
    • Class
    • Contact email
    • State (enabled or disabled)
    • Creation date (internal use)
    • Modification date (internal use)
  • Subject management Represents the subjects taught in a class (Ex: Mathematics, French, etc...).
    • Name
    • Creation date (internal use)
    • Modification date (internal use)
  • Grade management
    • A value
    • A student
    • A subject
    • A grade period
    • A group
    • CSV file template management
    • Importing grades from a CSV file
    • User interface for entering grades
  • Attendance management
    • Student
    • Date (date date db type), only the day is taken into account because the time depends on the time slot
    • User (teacher, or administrator)
    • Time slot
    • Group
    • Treated (for educators who can process absences)
    • School year
    • Creation date (internal use or for fraud verification)
    • Modification date (internal use)
  • Disciplinary report management
    • Student
    • Date (Represents the date of the incident)
    • Description
    • Creation date (internal use, or for fraud verification)
    • Modification date (internal use)
  • Time slot management Represents time slots (h1, h2, h3, h4, etc...) of a school day. Time slots are used for attendance.
    • Name
    • Start time
    • End time
    • School level (optional)
    • Creation date (internal use)
    • Modification date (internal use)
  • Grading period management Represents a grading period (trimester, semester, etc...).
    • Name
    • Start date
    • End date
    • Academic year(s)
    • Creation date (internal use)
    • Modification date (internal use)
  • Report card management
    • Generation of report cards in web or pdf format
  • Group management Represents the groups of students (Ex: Group A, Group B, etc...).
    • Name
    • Subject
    • User(s)
    • Student(s)
    • School level (optional)
    • Creation date (internal use)
    • Modification date (internal use)
  • School year management Represents school years (2021-2022, 2022-2023, etc...).
    • Name
    • Start date
    • End date
    • Archived (boolean)
    • Creation date (internal use)
    • Modification date (internal use)
  • API Key management
    • Name
    • Key (unique)
    • User
    • Expiration date
    • Creation date (internal use)
    • Modification date (internal use)
  • Many-to-Many relations
    • Between User and Class
    • Between User and Group
    • Between Student and Group

Technical points

  • Authentication
  • Relational database
  • Internationalization
  • Design system and reusable components
  • No duplicated code
  • REST API, which can be used by third-party services
  • Unit tests not complete
  • Integration tests (E2E)
  • Visual testing (Storybook) not complete
  • Markdown documentation, for maintainers, contributors and users
  • Docker, for development and production
  • SSO (github, gitlab, google, apple)

Others

  • The application must support light and dark theme
  • Schedule management (If there is a demand or someone who knows how to develop it)
  • Use of email sending for password reset or to notify of events such as an unjustified absence.
  • Management of justified and unjustified absences