I'm looking for a software for a non-profit organization, which should cover some special functions in addition to the 'normal' CRM functionality and wonder whether CiviCRM is suitable. I've been working in software development for a couple of years, mostly Java, but have no idea about Drupal, PHP, etc. I've installed and looked at CiviCRM, read some documentation, but have no clue if this (see below) can be done with CiviCRM out of the box or maybe with some own develpment.
One can imagine the scenario as follows: A school has modeled students and teachers as contacts. Each student belongs to exactly one class (about 8-14 students per class), lessons take place once a week, the class on a certain theme runs longterm, the students and sometimes the teachers change after a few months. Students can participate sequentially in one of about 20 classes. At each lesson, the presence of students is checked manually by means of a list.
Is it possible to model and manage the classes in a UI form like e.g. contacts as own data structures (room, date, theme, ...), building a new structure that does not yet exist in CiviCRM?
How best to describe the affiliation of a student/teacher to a class? Is there a possibility except 'Tags'?
The registration and deregistration of a student/teacher to a class must be logged. It must be possible to determine at any time which student has been in which class for how long.
For the purpose of attendance control of the lessons, a form must be printed out with the names of the students in the lessons, the lesson dates, etc. of a particular period (e.g., a month or quarter). This is filled in manually during the lesson (present yes / no). For this, a database query must determine the participants of the class and submit this list to a print template. Is there an example for this procedure?
Thank you for your comments!