Within the scope of the Web Programming – Server side – and Client side training units, we propose the design of an asp.net web application for an information system for a School.
Said application must make use of:
ASP.NET Core with MVC (Model-View-Controller) architecture with authentication;
Repository pattern;
Entity Framework Core for creating and managing the database in SQL Server;
Repository on github.
Implementation of all CRUD's;
Complete authentication system (login/logout, new user registration, password recovery via email, etc.);
Creation of Roles with at least 4 types of users (administrator of the entire platform, employee, student and anonymous user);
Use of at least two third-party controls that must not be repeated between trainees (syncfusion for example);
The application must be functional and online when tested and presented;
The application cannot under any circumstances burst or show development error screens, and must create all views for managing crud errors and conflicts.
Original front-end system adapted to the project.
Implementation of a Student module where all their data will be inserted and manipulated.
Implementation of a Class module and its subjects.
Implementation of a Notes module.
Implementation of the Query module for students, classes and grades.
The system administrator only manages other users, creating accounts for them so they can later access the platform. It will also make courses and subjects available.
Please note that during the account creation process, any user created in the previous point will first receive an email where they must change their password.
There must also be an employee user, who will create the course and choose the respective available subjects. This type of user will also be responsible for entering students and all grades.
Finally, there will be students, who, in addition to being able to change their profile, will be able to check their grades and status (pass/fail) in a given subject.
Anonymous users can only consult the courses, classes available, as well as the subjects that comprise them.
Functionality | Admin | Employee | Student | Anonymous |
---|---|---|---|---|
Login | X | X | X | |
Create accounts and add other users | X | |||
Course CRUD | X | |||
CRUD of disciplines / ufcd's | X | X | ||
CRUD of students and grades | X | |||
Modify profile | X | X | X | |
Recover password | X | X | X | |
Consult notes | X | |||
Consult your notes | X | |||
View available courses and subjects | X |
Every user, with the exception of anonymous users, must be given the possibility of having a profile photo.
For students, this photo is mandatory and is different from the profile photo they may also have.
When authenticating, the administrator should immediately be directed to a dashboard where alerts launched by employees reporting possible problems with the platform should appear, such as, for example, missing a course or subject required for it.
All students will also have a field of absences per subject which, upon setting a percentage by the administrator, allows them to obtain the status of excluded due to absences in that same subject.
There must be respect for not deleting and updating in cascade, requiring communication between the different users.
A web API must also be created and published that sends all students in a requested class.
Application of all minimum functionalities described above – 15 values
Weekly commits (every Monday, during training period, from 06/19) – 2 points
Extra features – 3 values
1 amount will be deducted for each day after the delivery deadline.
Delivery deadline – 09/15/2023
Presentation will be scheduled later.