fypms
NTU SC2002 Group Project - Final Year Project Management System (FYPMS)
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.2%) to scientific vocabulary
Keywords
Repository
NTU SC2002 Group Project - Final Year Project Management System (FYPMS)
Basic Info
- Host: GitHub
- Owner: pufanyi
- License: mit
- Language: Java
- Default Branch: main
- Homepage: https://pufanyi.github.io/FYPMS/
- Size: 216 MB
Statistics
- Stars: 15
- Watchers: 2
- Forks: 7
- Open Issues: 0
- Releases: 1
Topics
Metadata Files
README.md
*As we're approaching graduation, we'd really appreciate it if you gave this project a star if you find it helpful! *
NTU AY2022/23 Semester 2 SC2002 Group Project - Final Year Project Management System (FYPMS).
Final Year Project Management System (FYPMS) is a Java console application that utilizes object-oriented concepts to efficiently manage final year project settings. The program is designed with a focus on reusability, extensibility, and maintainability, allowing for easy upgrades and future development. It provides flexibility to accommodate different user types and their requirements.
The initial password for every user is password.
Links
Team Members
We are a group 6 from tutorial group A50, Nanyang Technological University, Singapore. There are 4 members in our group:
| Name | Github Account | Email | |--------------|-------------------------------------------------|-----------------------| | Pu Fanyi | pufanyi | FPU001@e.ntu.edu.sg | | Jin Qingyang | jin-qingyang | JINQ0003@e.ntu.edu.sg | | Jiang Jinyi | Jinyi087 | D220006@e.ntu.edu.sg | | Soo Ying Xi | niyaojiayou | D220001@e.ntu.edu.sg |
Highlights
- Reflection: The interface
Modeluses reflection to convert between classes and strings, enabling dynamic handling of model data without manual mapping. - Generic Repository Class:
Repository<Model>class with generics allows for flexible data storage and retrieval for any model type, reducing duplication and improving maintainability. - SHA-3 Password Encryption: User passwords are encrypted using the SHA-3 algorithm for enhanced security.
- Batch CSV Data Import: The system supports batch importing of initial data from CSV files, making it convenient to process large datasets in chunks.
- Factory Design Pattern: The factory pattern is used to quickly generate requests based on different requirements, enhancing system scalability and adaptability.
- Data Syncing: The system automatically saves data and synchronizes it with the database, ensuring that data is not lost in the event of a crash. You can even open multiple instances of the program and they will all be synchronized.
- JUnit 5: We used JUnit 5 to test our classes, it helps to ensure the correctness and robustness of our code.
Features
- [x] Student
- [x] View my profile
- [x] Change my password
- [x] View project list
- [x] View my project
- [x] View my supervisor
- [x] Register for a project
- [x] Deregister for a project
- [x] Change title for a project
- [x] View history and status of my requests
- [x] Supervisor
- [x] View my profile
- [x] Change my password
- [x] Create a project
- [x] View all my projects
- [x] Modify title of projects
- [x] View all pending student requests
- [x] Approve/Reject student requests
- [x] Submit request for transferring
- [x] View all incoming/outgoing requests' history and status
- [x] Supervisor
- [x] View My Profile
- [x] Change My Password
- [x] View All Projects
- [x] View Pending Requests
- [x] View All Requests' History and Status
- [x] Accept or Reject Requests
- [x] Generate Project Details
Build
Download the project from GitHub.
bash
git clone https://github.com/pufanyi/FYPMS.git
Use JetBrains IntelliJ IDEA to build the project.
The project is built with Java 17.
The MANIFEST.MF file is located at src/META-INF/MANIFEST.MF.
Run
The built jar file is located at out/artifacts/FYPMS_jar/FYPMS.jar.
There is a shell script run.sh and a Windows command script run.cmd to run the program.
Or you could run the jar file with the following command:
bash
java -jar ./out/artifacts/FYPMS_jar/FYPMS.jar
Also, you can also use JetBrains IntelliJ IDEA to run the project.
The main class is src/main/Main.java.
Test
The java class src/test/HardReload.java is used to hard reload the database.
UML Class Diagram
The uml diagram is generated by draw.io.
You can refer to the project main page for the UML class diagram.
Here is the source code of the UML class diagram.
BibTeX
bibtex
@software{Pu_FYPMS_Final_Year_2023,
author = {Pu, Fanyi and Jin, Qingyang and Soo, Ying Xi and Jiang, Jinyi},
month = apr,
title = {{FYPMS: Final Year Project Management System}},
year = {2023}
}
License
MIT Pu Fanyi, Jin Qingyang, Soo Ying Xi, Jiang Jinyi
Owner
- Name: Pu Fanyi
- Login: pufanyi
- Kind: user
- Location: Singapore
- Company: Nanyang Technology University
- Website: pufanyi.github.io
- Repositories: 3
- Profile: https://github.com/pufanyi
A Burnt Child Loves the Fire
GitHub Events
Total
- Watch event: 5
- Delete event: 2
- Push event: 1
- Fork event: 1
- Create event: 1
Last Year
- Watch event: 5
- Delete event: 2
- Push event: 1
- Fork event: 1
- Create event: 1
Issues and Pull Requests
Last synced: over 1 year ago
All Time
- Total issues: 29
- Total pull requests: 6
- Average time to close issues: about 22 hours
- Average time to close pull requests: 6 minutes
- Total issue authors: 3
- Total pull request authors: 2
- Average comments per issue: 0.34
- Average comments per pull request: 0.0
- Merged pull requests: 5
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 2
- Average time to close issues: N/A
- Average time to close pull requests: 17 minutes
- Issue authors: 0
- Pull request authors: 2
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- jin-qingyang (12)
- Jinyi087 (11)
- pufanyi (6)
Pull Request Authors
- pufanyi (5)
- TokValentino (1)
