# 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_educationand 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.usersmodel 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
One2manyrelational 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