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.shto build and enter a virtual environment -
Once in the virtual environment, run
. apiBuild/buildEnv.shto setup the environment -
If you already have the virtual environment setup from a previous install, you can enter the VM by typing
pipenv shelland then you can run the. apiBuild/buildEnv.shscript 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.shto ensure that your VM is setup correctly -
Run
python3 app.pyto 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.shto 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.coveragercfile 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.pyfile