This is not a client-server model application.
Prerequisites :
- Basic Understanding of File I/O
- OOP Concept of Java
- JavaFX
- SceneBuilder
- Overview
- Built Using
- Project Features ( Explore, Test, Profiles, Setting, Log out)
- Contributors
- Installation
- References
- Link To Demo
The program will first show a login page for existing users to access their data.
- The login section handles invalid information* given by the users.
- If the information given is verified, the program will redirect the user to the menu section.
- Else, An alert will pop up.
- If the user is new, meaning that they will not have any credential on our database, they can register for a new credential.
-
The registration form takes 4 inputs:
- Username
- Password
- Retyped Password
-
The registration form also handles invalid information* given by the user.
- If the input data verifies with the invalid information handling algorithm, an account will be created into our database.
- The program will then redirect the user back to our login page.
-
The testing mechanism is really simple.
- You take a test
- The program generates a result from those 10 questions you answered
- Meanwhile, the program also writes your information back to the database
- The Back button inside the result page will return the user back to our menu page.
When you answer those 10 questions, each question contains a specific score depending on which you choose, but ultimately, it comes down to 32 results, each result has its own unique id, you guessed it, its number - 1, the program will then match up to 4 people whose personality ids are in range of -2 and +2 to your current personality id.
This project is built using the following tools:
- Figma: used for prototyping the project.
- Screen Builder: used for building the UI of the application.
- JavaFX: along with screen builder, the application is built using JavaFX.
- VS Code: Text Editor used while working on the project.
- Github: used to host the project for team collaboration.
- After test:
- Edit Profile
- Change Password
Our testing mechanism and results are based on 59 Seconds, a book by psychologist Professor Richard Wiseman
- Scoring
- OCEAN
- Openness is high if the total of question 5 and 10 is equal or bigger than 10
- Conscientiousness is high if the total of question 3 and 8 is equal or bigger than 11
- Extroversion is high if the total of question 1 and 6 is equal or bigger than 9
- Agreeableness is high if the total of question 2 and 7 is equal or bigger than 10
- Neuroticism is high if the total of question 4 and 9 is equal or bigger than 9
- Doung Keopitou - Login & Sign Up & Logout
- Kean Whatanak - Account Setting
- Ly Sovortey - Delete account & Explore
- Ouk Vathanak - Testing & Matching
We suggest using VS Code for running the program and we will only provide help for this Editor. This installation is for windows users.
Ctrl + Shift + P
- Referencing additional libraries
- Cloning
git clone https://github.com/freddyt18/Peronality-Test
- Initializing
- Adding Path
"vmArgs": "--module-path \"path/to/javafx-sdk/lib\" --add-modules javafx.controls,javafx.fxml"
- Running the program
When the user inputs a specific data, say a username for the login page, the data will be processed in its java controller file to see if the data is acceptable
We are trying to reduce the complexity of our program as much as possible. So, We decided not to use any database that requires a third party app (E.g XAMPP) or additional libraries to access the data