OCEAN Personality Visualization¶
A website that helps you visualize your personality using graphs and compare it with others. It asks you a series of questions and analyzes your inputs to create an easy to understand graph. It also provides you an easy way to share these results with your peers and compare your personalities. It is based on the OCEAN personality model which is the most acceptable model to measure personality used by researchers.
Prerequisites¶
This website has been built using the Django framework, using Python (version: 3.8), HTML (version: 5), and other web-dev components.
Installing¶
First, clone this project from Github:
$ git clone https://github.com/IgnisDa/OCEAN-personality-visualization.git
The root directory contains a requirements.txt which can you can use to whip
up a working environment.
$ cd ocean-pv/
$ python -m venv env
$ source ./env/bin/activate
$ pip install -r requirements.txt
If you use Poetry package manager to manage your dependencies, you can run the following command in the project root.
$ poetry install --no-dev
To get the website up and running, you need to run the following:
$ python manage.py makemigrations
$ python manage.py migrate
$ python manage.py createsuperuser # enter your superuser name which can be used to access admin
$ python manage.py createdata <superuser> # replace <superuser> with the name you entered above
$ python manage.py calculateglobals
$ python manage.py runserver
You can then visit http://127.0.0.1:8000/ in your browser to access the website.
Note
The project uses ocean_website/settings/development_alt.py as the default.
If you want to use ocean_website/settings/development.py as
the settings module, then rename .env.example to .env
and fill it with correct information. Learn about the differences
between the different settings here: The Project Settings.
Project Structure¶
The project was created using the command django-admin startproject
ocean_website and that is also the main directory where important files like
settings.py and wsgi.py live.
This project uses the default django project structure with a few
modifications. The apps that are part of the website are core, graphs, home,
interactions, users and are present in their corresponding directories.
Major modifications include changing the location of
ocean_website/settings.py to ocean_website/settings/base.py.
This was done because this project uses 4 different settings files for
development_alt, testing, development and heroku. The manage.py and
wsgi.py files have been changed accordingly.
Note
When starting a development server, the project will look for an
environment variable $DJANGO_DEV to decide which settings file to use.
If $DJANGO_DEV == "True", settings/development.py will be used.
Otherwise, settings/development_alt.py is used by default.
Testing¶
The project uses pytest and a plugin pytest-django as its standard test-runner. Read the full documentation on Testing this project.
Contributing¶
Contributions are welcome! Read more at Contributing to this project.