# GEMS Education - Part 1

New Concepts: module creation, inheritance, relational fields, domains, context, smart buttons

The management at GEMS Education shared with you the various data that need to be captured in the new system.

# Schools

The organization manages a number of schools. To implement this feature, create a new model with the following attributes:

  • Name (required, unique)
  • Establishment Date (required)
  • Street 1 (required)
  • Street 2
  • City (required)
  • State
  • Country (required)
  • Zip Code
  • Faculty Members
  • Students
  • Classrooms
  • Subjects
  • Sessions

# Classrooms

The organization wishes to manage classrooms in each school. A class should contain the following attributes:

  • Name (required, unique within a school)
  • Capacity (required, default=5)
  • Has Projector?
  • Has Smart Board?

# Subjects

A school can offer a variety of subjects and this should be recorded in a new model with these attributes:

  • Name (required, unique within a school)
  • Book

# Sessions

In a session, a subject can be taught to students by a teacher in a classroom. A session therefore must contain these attributes:

  • Subject (required)
  • Classroom (required)
  • Teacher (required)
  • Start Date (required)
  • End Date (required)
  • Daily Start Time (required)
  • Daily End Time (required)
  • Year (required)
  • Students

# Important Notes

There are a list of points as well as assumptions that must be considered before proceeding with development.

  • Set the technical name of the new module that you will create to gems_education and set the general name to GEMS Education
  • Ensure to show the module on the app screen and set an appropriate logo
  • All faculty members and students will be records of the res.users model and there should be a way to distinguish between them
  • A school can have many faculty members, students, classrooms, subjects, and sessions, and no two schools should share the same record (hint: use One2many relational fields)
  • A student can have many sessions and a session can have many students
  • Add appropriate views, menus, and security access rights
  • Use smart buttons on the school form view to show the count of faculty members, students, subjects, classrooms, and sessions
  • Use smart buttons on the classroom form view to show the count of active sessions
  • Use smart buttons on the user form view to show the count of active sessions