ekv-project / ekv Goto Github PK
View Code? Open in Web Editor NEWSistem Pengurusan Maklumat Pelajar Kolej Vokasional
Home Page: https://ekv.readthedocs.io
License: GNU General Public License v3.0
Sistem Pengurusan Maklumat Pelajar Kolej Vokasional
Home Page: https://ekv.readthedocs.io
License: GNU General Public License v3.0
Add Bootstrap using Laravel Mix + Sass basically
Add a middleware to all routes to check if the system is installed.
It can be check by determine if the admin
user is added.
If not, redirect to /install
route.
Check whether current authenticated student's classroom is active.
For title, only the first letter is capitalize. For form and display, all letters is capitalize.
Gates
authUser
- Check whether current authenticated user allowed to access the page. Ex: User Profile.authLecturer
- Check if lecturer could access anything allowed for them.authCoordinator
- Check if lecturer is a classroom coordinator of a student.authAdmin
- Check whether current authenticated user is admin.authSuperAdmin
- Check whether current authenticated user is super admin.Middleware
auth
- Default Laravel auth middleware. Check if user is authenticated. If not redirect to /
aka login page.userIsAdmin
- Check if current authenticated user is an Admin
. If not, abort with 403
.userIsSuperAdmin
- Check if current authenticated user is an SuperAdmin
. If not, abort with 403
.Use for
This is for blocking a student that's in a classroom that have been deactivated from accessing certain pages.
Add active_status
field with the default value of 0
to classrooms
table.
Active Status
0
= Deactivated (Nyahaktif)1
= Active (Aktif)Features available on this system. (Just a reminder if I forget lel)
A lecturer or admin could issue certificate for certain events/competition for a student/set of student.
On the certificate, there will be the details of the student and details on the event/competition.
The certificate issuer can select the visibility of the certs either public (visitor outside the site can view), private (only users that logged in, or only the student idk yet) and None. If the option is set to either public or private, a QR code will be place on the cert that contains the link to view the cert. If it's set to one, no QR code will be added on the cert.
The system could be installed with php artisan install
command.
Usage: php artisan install <password> [<fullname> [<email>]]
This command will migrate the databases and create a new user with the userame: admin
and role: superadmin
if it doesn't exist yet.
To be change.
Instead of need to code every bulk add methods one by one, create a trait for it.
Refer:
This is to avoid repeating the same code in every controllers that use and need it.
First, it will check if a user is associated with a classroom. isset()
If not, abort(404)
. I think.
Then, it check whether the coordinator user's classroom is equal to the current student profile classroom they trying to access. After that, return true
. Else, abort(403)
Or, it check whether the coordinator user's classroom is equal to the current classroom they trying to access. After that, return true
. Else, abort(403)
.
Please refer to the current ClassroomController
to achieve this. I hope.
Maybe caused by storage link.
Public folder: public
Storage folder: app/public
Add a blog styled announcement section under the navigation section on the main dashboard. Admin can add new updates for example, semester transcript for DVM is added.
/storage/app/public
directory or something like that. (Refer here: Docs)All development progress of the user system is listed here.
Add Student Details In Add Transcript View
Improve the current dashboard UI to have a standardized look.
Start with:
Use Bootstrap Icons to give a better look to the UI.
Somehow the icon doesn't want to load..bruhhhhh
Add a simple login page
Follow the UI concept for navigation etc from /dashboard/classroom
pages.
Restructure Database Scheme, Foreign Keys and Constraints as needed
Refer also: #9
Implement this new method from Laravel to make sure user's password is complex.
https://twitter.com/enunomaduro/status/1385625592377323520
This issue will always be open.
/ (Home page/Login page)
/dashboard (Redirect after login)
--/profile/{user} (User profile page)
--/classroom/{classroom} (Classroom page)(Students and one coordinator will be assigned here)
/admin (Administration page)
--/user
This is the main structure for this system.
Add Relationships For Course Grade and Semester Grade Table
Make it able to search multiple to retrieve multiple types of data.
To authorize the API request, use API Token store in the meta tag (must include $apiToken
from constructor using the with()
method) then make sure the token is already exist in the user's table.
Refer: c167fbc
Fixed the issue with the script.
Waiting to be committed with and after solving #41.
Added all basic database models.
Make a migration to add jantina field for user_profiles
table. Update the profile update form to include this form.
While you are at it, update created_at
and updated_at
field for table course_grades
to be placed after grade_pointer
field. It hurts my eyes.
Use Bootstrap modal to make deletion confirmation UI same as the one on SeaJell.
When approaching the finished version of this project, change current validation method to Laravel Validation feature when possible.
Add regex check for fields such as student identification number, phone number etc
This issue will always be open.
SuperAdmin
Given to a username named admin
.
Technically this user will be able to do everything that an admin couldn't do like adding or deleting another admin.
Admin
The default user with the username admin
will be created automatically and cannot be changed or deleted by another admin. This user have supremacy above all other user.
Student
Lecturer
authUser
- Check whether current authenticated user allowed to access the page. Ex: User Profile.authLecturer
- Check if lecturer could access anything allowed for them.authCoordinator
- Check if lecturer is a classroom coordinator of a student.authAdmin
- Check whether current authenticated user is admin.authSuperAdmin
- Check whether current authenticated user is super admin.authClassroomActive
- Check whether current authenticated student's classroom is active.Middleware
auth
- Default Laravel auth middleware. Check if user is authenticated. If not redirect to /
aka login page.userIsAdmin
- Check if current authenticated user is an Admin
. If not, abort with 403
.userIsSuperAdmin
- Check if current authenticated user is an SuperAdmin
. If not, abort with 403
.This page will only be allowed to be added by admin
(more on that when making authotization).
Same as #46
But add the column to ClassroomStudent
model. Coordinator and admin can update a user active status from the classroom section on main dashboard.
Admin
could assign one coordinator to each classroom.
Admins
and the classroom Coordinators
itself could update the classroom info.
This includes:
They could also add new student
to the classroom. Each student could only be associated with one classroom. Make sure to check for that.
With the Classroom Model
it could be used to determine whether a lecturer is a coordinator of a student
. Refer to #4
This default pictures will be shown instead if the picture that needed to be shown doesn't exist.
Well, read the title.
Maybe fix it by using row-cols-number
class.
A student user can only be assigned to one classroom.
A coordinator(lecturer) user can be assigned to multiple classrooms.
When a student is assigned to a classroom, their record will be stored inside classroom_students
table.
Structure:
- id
- users_username
(unique, so a student couldn't be assigned to multiple classrooms)
- classroom_id
When a coordinator is assigned to a classroom, their record will be stored inside classroom_coordinators
table.
Structure:
- id
- users_username
- classroom_id
The user name is not unique so lecturers could be assigned to be coordinators for multiple classes.
To Do:
Remove mPDF as the PDF library and use TCPDF instead since mPDF currently using GPLv2 only
instead of GPLv2 or later
which could make this project unable to be licensed under GPLv3 or later
. See mpdf/mpdf#832
TCPDF is the best candidate for this change since it is licensed under LGPLv3
which compatible with our needs.
Here listed all error codes that contains for this project.
Check If User Is A Student For Transcript Add and Update View And Controller
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.