Programación y Tecnología / Programación Web
Hola! Soy Diego. Tengo una pequeña escuela de idiomas y estoy desarrollando un software yo mismo pero necesito ayuda. Aquí hay una pequeña descripción de lo que necesito en inglés, si no hablas inglés no te preocupes ponlo en google translate. Lo que me interesa es que tengas las aptitudes necesarias:
BRIEF DESCRIPTION OF THE BUSINESS & REQUIREMENTS
I am building a simple software for a language school. Courses last from 3 to 6 weeks. There are different languages and different levels. Students go from LEVEL-1 to LEVEL-2 to LEVEL-3 and so on.
Almost all the process is already coded. The project is probably 70-80% advanced, functionally speaking (not taking the frontend into consideration, which I will improve myself later). So, I just need help with 2 things: 1. Make some sort of history for every course taken. 2. When a student “Drops” a course, save the info of the student and the course he dropped in the moment he “Dropped” out of the course. And have all this info saved in a list or view of “Droped Students”.
The key to solve both requirements, I believe, is to somehow copy the information of a model (copy a model instance or the required fields) into a new model “History” and a new model “Droped Students”, respectively. And from there, create the necessary views and templates.
There is an APP called “PROSPECTOS” (“Propspects in English”) but we won’t be touching that(I’ll probably not upload that model to GitHub). The APP we will be working on is called “GRUPOS”.
I will give you the link to the GitHub Repo and further explanation about the project and the requirements I have.
LANGUAGE SCHOOL LOGIC PROCCESS.
PROCCESS THAT ARE ALREADY DEVELOPED: 1, 2, 2a, 2b, 3, Part of 4a, Part of 4b)
1. A uniquely named “Group” (“Grupo” in Spanish) needs to be created.
2. Once the Group is created you need to create “Students” (“Alumnos” in Spanish), so you can “Pre-Subscribe” (“Pre-Inscribir” in Spanish) or “Subscribe” (“Inscribir” in Spanish) a “Student” (“Alumno” in Spanish) to a Group.
—2a: You use “Pre-inscribir” to pre-subscribe a student (he won’t be part of the group just yet, but he is already accounted to be with that group IN THE NEXT LEVEL.
—2b: You use “Inscribir” to subscribe a student to the CURRENT LEVEL. So this student would integrate in the current group, even though the course might have started already. These students will be integrated with a button “Inscribir” when the course finishes.
3. Courses last between 3-6 weeks.
4. WHEN A LEVEL OF THE COURSE FINISHES, a Student can CONTINUE in the same group that goes on to the next language level, or he can “DROP(leave) the course” (“Dar de BAJA” in Spanish).
—4a: If the student “Drops the course”, the relationship/MEMBERSHIP to the group must be removed(there is a remove button that achieves this), BUT he must be added to a list of “BAJAS” (“DROPS” in English) with the information of the group and the students information(further explained below).
—4b: If the student continues on the group, once the course is over, a person from the language school will simply remove the ones that are “DROPS” and the ones that continue will stay on the same Group but: The person from the language school will simply RENAME THE GROUP and adjust the fields from the GRUPO MODEL: “nombre”, “fecha_inicio”, “nivel”, “profesor”, “salón”. (In ENGLISH: “group name”, “start_date”, “level”, “teacher”, “room number”) accordingly. So in this example the LEVEL FIELD will change from “LEVEL 1” to “LEVEL 2” and maybe there will be a different teacher “profesor”.
WITH THE GIVEN PROCESS, I NEED HELP WITH THE FOLLOWING:
1. (“DROPS” of STUDENTS from a COURSE) “BAJAS”, for students who have lost the relationship/MEMBERSHIP(name of the model in models.py) with a group.
-Create a List or a View(“DROPS” / “BAJAS”) that has the information of all the “Students” with the “Groups” that they have dropped.
-The information from the MODEL “ALUMNO” (Student) must be the model fields: nombre, apaterno, amaterno, cel, tel, email.
-The information from the MODEL “GRUPO” (Group) must be the model fields: fecha_inicio, idioma, nivel, horario, profesor.
2. CREATE A HISTORY OF THE GROUPS for every month:
-For example, know month by month, what students took what courses. This can be based on the date the course started (from jan 1 to jan 31, from feb 1 to feb 28, from march 1 to march 30, etc).
REMEMBER: The key to solve both requirements, I believe, is to somehow copy the information of a model (copy a model instance or the required fields) into a new model “History” and a new model “Droped Students”, respectively. And from there, create the necessary views and templates. OR DO YOU THINK THERE IS A BETTER SOLUTION?
SOURCE CODE: https://github.com/diegolego/angloapp
Categoría: Programación y Tecnología
Subcategoría: Programación Web
¿Cuál es el alcance del proyecto?: Cambio mediano
¿Es un proyecto o una posición?: Un proyecto
Actualmente tengo: Tengo las especificaciones
Disponibilidad requerida: Según se necesite
Roles necesarios: Desarrollador