Visit the deployed application here
For our final project, Team Magnetism have built a learning application. The idea is that anyone who wants to learn something new can have access to suggested learning paths/knowledge nuggets with "rated" resources. The more people that use the service, the more accurate and useful the ratings will become.
-
The ability to pick a topic
-
The ability to see sub-topics/learning paths/knowledge nuggets for that topic
-
The ability to see learning resources for sub-topics
-
The ability to give a rating to the resource, and see all previous reviews
-
Python for the backend API
-
Pytest for unit tests for python
-
Splinter for feature tests for python
-
React.js for the user interface
-
Jest for javascript testing
-
Run
. apiBuild/buildVM.sh
to build and enter a virtual environment -
Once in the virtual environment, run
. apiBuild/buildEnv.sh
to setup the environment -
If you already have the virtual environment setup from a previous install, you can enter the VM by typing
pipenv shell
and then you can run the. apiBuild/buildEnv.sh
script again if needed
If you are not already in a shell, you will need to do the following:
-
pipenv shell
- takes you into the virtual environment -
Run
. apiBuild/buildEnv.sh
to ensure that your VM is setup correctly -
Run
python3 app.py
to run the api application -
(To kill the shell ->
ctrl
+c
)
- Install node modules, specified in the package.json:
npm install
- Launch the application:
npm start
- Visit
http://localhost:3000
-
If you are not already in a shell, you will need to do the following:
- Run
pipenv shell
- takes you into the virtual environment - Run
. apiBuild/buildEnv.sh
to ensure that your VM is setup correctly
- Run
-
Start the application by running
python3 app.py
(so that the splinter feature tests work) -
pytest -r A
- will run pytest and splinter tests with a summary report -
pytest -r A --cov-report term-missing --cov
- will generate a coverage report. If required, it's possible to modify the.coveragerc
file in order to specify particular files/folders that you want to scan/omit.
-
Switch to front_end directory:
cd src
-
Run tests
npm run test
pylint [FILENAME]
e.g.pylint app.py
- will run the linter for theapp.py
file