- Senior project managing program
- info
- if for some reason the project has any problems whatsoever please get in touch with me via DM in Discord (while pylint checking an error could have occurred)
- the system is functional to some degree, but loopholes could be present due to time constraints not all bugs were accounted for (pls comment the errors or problems in private comments in GC)
- the function names are self-explanatory so i did not put much information in this readme file
- if you have any questions concerning the code contact me via DM
-
Python Files
- main.py
- Main file to run
- project_manage.py
class Project
(creates projects)class Invite
(creates invites)class ConfirmInvite
(Confirm invites)
- csv_extract.py
class CSV
(extract CSV files)
- allow_access.py
class Admin
(main functions for admin)class Student
(main functions for students)class Faculty
(main functions for Faculty)
- main.py
-
CSV Files
persons.csv
login.csv
Advisor_pending_request.csv
Member_pending_request.csv
Project.csv
-
How to run my project
- run main.py and use a user from the list below for easy access
- the system does not support real time updates, so you will have to rerun the file and exit everytime you make changes to the .csv files
- test users
- 0000000,a,1,student
- 1111111,b,1,student
- 2222222,r,1,admin
- 3333333,e,1,faculty
-
main.py
- this file is used to run the program by determining role access based on login data
- Student
- USER = role_access.Student(user_sys)
- Admin
- USER = role_access.Admin(user_sys)
- Faculty
- USER = role_access.Faculty(user_sys)
-
csv_extract.py
- this file is used to extract .csv data
Role/Type Action Method Class Completion System Object Constructor def init(self, csv_file) CSV 100% System Return .csv in a dict def csv_dict(self) CSV 100% System Return .csv in a list def csv_list(self): CSV 100%
project_manage.py
- this file is used for storing the different classes for different uses
Role/Type | Action | Method/Function | Class | Completion |
---|---|---|---|---|
System | checks username and password from the .csv to grant user access | def login(): | None | 100% |
student | Object Constructor for Projects | def init(self), (attributes too long) | Project | 100% |
student | adding information to project.csv files | def create_project(self): | Project | 100% |
student | Object Constructor for invites | def init(self, project_id, inviter, to_be,response,response_date): | Invite | 100% |
student | adding information to member_pending_request.csv files | def create_invite_member(self): | Invite | 100% |
student | adding information to advisor_pending_request.csv files | def create_invite_advisor(self): | Invite | 100% |
faculty | Object Constructor for ConfirmInvite | def init(self, project_id, status=""): | ConfirmInvite | 100% |
faculty | confirming member_pending_request.csv files | def respond_invite_member(self): | ConfirmInvite | 100% |
faculty | confirming advisor_pending_request.csv files | def respond_invite_advisor(self): | ConfirmInvite | 100% |
faculty | typing opinion for projects | def respond_status(self): | ConfirmInvite | 100% |
admin | Object Constructor for AddLogin | def init(self, userid, username="", userpassword="", userrole=""): | AddLogin | 100% |
admin | creates data for login.csv | def create_data(self): | AddLogin | 100% |
admin | delete data for login.csv | def delete_data(self): | AddLogin | 100% |
admin | Object Constructor for AddProject | def init(self, project_id, title, lead, member1, member2, advisor, status, information): | AddProject | 100% |
admin | create data | def create_data(self): | AddProject | 100% |
admin | delete data | def delete_data(self): | AddProject | 100% |
admin | Object Constructor for NewInformation | def init(self, pj_id, new_info): | NewInformation | 100% |
admin | info updater | def change_info(self): | NewInformation | 100% |
admin | info getter | def info_read(self): | NewInformation | 100% |
Role/Type | Action | Method/Function | Class | Completion |
---|---|---|---|---|
Admin | Object Constructor for Admin | def init(self, login_data_sys, login_data_dict=_login_data_dict, | Admin | 65% |
Admin | getter for login_data_x | def login_data_x(self): | Admin | 100% |
Admin | setter for login_data_x | def login_data_x(self): | Admin | 100% |
Admin | getter for person_data | def person_data(self): | Admin | 100% |
Admin | setter for person_data | def person_data(self): | Admin | 100% |
Admin | getter for project_data | def project_data(self): | Admin | 100% |
Admin | setter for project_data | def project_data(self): | Admin | 100% |
Admin | getter for member_invite_data | def member_invite_data(self): | Admin | 100% |
Admin | setter for member_invite_data | def member_invite_data(self): | Admin | 100% |
Admin | getter for advisor_invite_data | def advisor_invite_data(self): | Admin | 100% |
Admin | setter for advisor_invite_data | def advisor_invite_data(self): | Admin | 100% |
Admin | Admin UI | def page_admin(self): | Admin | 65% |
Student | Object Constructor for Student | def init(self, login_data_sys, login_data_dict=_login_data_dict, | Student | 100% |
Student | Student UI | def page1(self): | Student | 80% |
faculty | Object Constructor for faculty | def def init(self, login_data_sys, login_data_dict=_login_data_dict,: | Faculty | 90% |
faculty | Faculty UI | def def page_faculty(self): | Faculty | 80% |
faculty | persons getter | def def read_person(self): | Faculty | 100% |