Skip to content

freddyt18/Peronality-Test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Personality-Test

This is not a client-server model application.

Prerequisites :

  • Basic Understanding of File I/O
  • OOP Concept of Java
  • JavaFX
  • SceneBuilder

Table of Contents

  1. Overview
  2. Built Using
  3. Project Features ( Explore, Test, Profiles, Setting, Log out)
  4. Contributors
  5. Installation
  6. References
  7. Link To Demo

Overview

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:

      • Email
      • 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.

        


But Here's a Catch

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.

Built Using

This project is built using the following tools:

  1. Figma: used for prototyping the project.
  2. Screen Builder: used for building the UI of the application.
  3. JavaFX: along with screen builder, the application is built using JavaFX.
  4. VS Code: Text Editor used while working on the project.
  5. Github: used to host the project for team collaboration.

Project Features

Login Page

        

        

Register

        

Explore

        

Test

        
        

  • After test:
        


        

Profile

        
        

Setting

  • Edit Profile         

  • Change Password         

Log Out

        

How are the results generated?

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

Contributors

Installation

Note

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
    • Select App.java

    • Select JAVA PROJECTS

    • Select "+" in the Referenced Libraries

    • Navigate to the javafx sdk libraries > lib and select all the jar files

  • Cloning
    • Then, delete the src folder and clone this repository

    git clone https://github.com/freddyt18/Peronality-Test
  • Initializing
    • Expand the Personality-Test folder, then expand the App folder

    • Select the App.java file
    • UPDATE: Don't forget to rename the parent folder (Personality-Test) back to "src", otherwise, your Editor might not be able to locate required path for the program

  • Adding Path
    • Select Run > Add Configuration on the top menu

    • Add the module path
    "vmArgs": "--module-path \"path/to/javafx-sdk/lib\" --add-modules javafx.controls,javafx.fxml"

  • Running the program
    • Select App.java and run the java

    • Boom! There you go.

References

  • Invalid Information

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

  • Database

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

Releases

No releases published

Packages

No packages published