Skip to content
Snippets Groups Projects
Commit 02abfcf1 authored by Josef Olsson's avatar Josef Olsson
Browse files

Minor edits in development files

parent 69789ad4
No related branches found
No related tags found
1 merge request!159Resolve "Documentation"
Development Development
=========== ===========
In this section we give all the instructions necessary to continue the development of this project. This section will give all the instructions necessary to continue the development of this project.
We also give some recommendations for how to go about it. Some recommendations for how to go about it will also be given.
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
......
# Frontend # Frontend
[comment]: # (TODO)
## Working with TypeScript ## Working with TypeScript
[comment]: # (TODO)
### npm ### npm
`npm` is the node package manager. `npm` is the node package manager.
...@@ -14,4 +18,4 @@ To uninstall a module, run `npm uninstall <module>`. ...@@ -14,4 +18,4 @@ To uninstall a module, run `npm uninstall <module>`.
To install all project dependencies, run `npm install`. To install all project dependencies, run `npm install`.
Remember to install the project dependencies whenever someone else has added new ones to the project. It is important to remember to install the project dependencies whenever someone else has added new ones to the project.
# External programs # External programs
We also used some other programs help the development. These are some useful programs that can help with the development.
## Postman ## Postman
...@@ -12,3 +12,5 @@ It's very helpful when developing APIs. ...@@ -12,3 +12,5 @@ It's very helpful when developing APIs.
[DB Browser for SQlite](https://sqlitebrowser.org/) is used to see what is currently stored in the database. [DB Browser for SQlite](https://sqlitebrowser.org/) is used to see what is currently stored in the database.
You can even edit values. You can even edit values.
[comment]: # (Add VS CODE?)
\ No newline at end of file
# Further development # Further development
Because the project was time limited a lot is left to be done. Because the project was time limited a lot is left to be done.
Below we will give two different types things to improve. Below we will give two different types of things to improve.
The first type is functionality, bugs and aesthetics which improves the usability of the system. The first type is functionality, bugs and aesthetics which improves the usability of the system.
The second type is refactoring which are basically just things related to the source code. The second type is refactoring which is basically just things related to the source code.
This won't effect the end user but certainly improves the system as a whole. This won't effect the end user but will certainly improve the system as a whole.
## Functionality, bugs and aesthetics ## Functionality, bugs and aesthetics
Most of the basic functionality of the system is already completed. Most of the basic functionality of the system is already completed.
There is however a few major things left to be done. There are however a few major things left to be done.
### Different questions types ### Different question types
The system needs to support a lot of different types of questions. The system needs to support a lot of different types of questions.
A list of all the questions that needs to be supported (and more) can be found on [Teknikattan scoring system](https://github.com/TechnoX/teknikattan-scoring-system/blob/master/kandidatarbete_teknikattan.md). A list of all the questions that needs to be supported (and more) can be found on [Teknikattan scoring system](https://github.com/TechnoX/teknikattan-scoring-system/blob/master/kandidatarbete_teknikattan.md).
...@@ -23,6 +23,8 @@ It is not certain that they are a better solutions but definitely something to l ...@@ -23,6 +23,8 @@ It is not certain that they are a better solutions but definitely something to l
### Replace Flask-RESTX with flask-smorest ### Replace Flask-RESTX with flask-smorest
[comment]: # (This is already implemented)
We currently use [Flask-RESTX](https://flask-restx.readthedocs.io/en/latest/) to define our endpoints and parse the arguments they take, either as a query string or in the body. We currently use [Flask-RESTX](https://flask-restx.readthedocs.io/en/latest/) to define our endpoints and parse the arguments they take, either as a query string or in the body.
But when responding we use [Marshmallow](https://flask-smorest.readthedocs.io/en/latest/) to generate the JSON objects to return. But when responding we use [Marshmallow](https://flask-smorest.readthedocs.io/en/latest/) to generate the JSON objects to return.
We believe that [flask-smorest](https://flask-smorest.readthedocs.io/en/latest/) would integrate a lot better with Marshmallow. We believe that [flask-smorest](https://flask-smorest.readthedocs.io/en/latest/) would integrate a lot better with Marshmallow.
......
...@@ -13,7 +13,7 @@ When [installing the server](../installation/server.md) you installed `virtualen ...@@ -13,7 +13,7 @@ When [installing the server](../installation/server.md) you installed `virtualen
Python uses `pip` to manage it's packages. Python uses `pip` to manage it's packages.
Here we briefly describe to use it. Here we briefly describe to use it.
All of the following instructions assume you have created and activated a virtual environment. All of the following instructions assume you have created and activated a virtual environment and are located in the server folder.
To install a package, run `pip install <package>`. To install a package, run `pip install <package>`.
...@@ -23,4 +23,4 @@ To save a package as a dependency to the project, run `pip freeze > requirements ...@@ -23,4 +23,4 @@ To save a package as a dependency to the project, run `pip freeze > requirements
To install all project dependencies, run `pip install -r requirements.txt`. To install all project dependencies, run `pip install -r requirements.txt`.
Remember to install the project dependencies whenever someone else has added new ones to the project. Remember to install the project dependencies whenever you or someone else has added new ones to the project.
...@@ -13,8 +13,10 @@ The Python and Pylance extensions help with linting Python code, auto imports, s ...@@ -13,8 +13,10 @@ The Python and Pylance extensions help with linting Python code, auto imports, s
Prettier is an extension used to format JavaScript and TypeScript. Prettier is an extension used to format JavaScript and TypeScript.
ESLint is used to lint JavaScript and TypeScript code. ESLint is used to lint JavaScript and TypeScript code.
Live Share is an extension thats used to code together at the same time, much like a Google Docs document. [comment]: # ("is used to lint JavaScript" what is lint? It's not explained)
But there was a few issues with the Python extension that made Live Share hard to work with.
Live Share is an extension that is used to write code together at the same time, much like a Google Docs document.
There were however a few issues with the Python extension that made Live Share hard to work with.
## Tasks ## Tasks
...@@ -33,7 +35,7 @@ The `Populate database` task will populate the database with a few competitions, ...@@ -33,7 +35,7 @@ The `Populate database` task will populate the database with a few competitions,
The `Test server` task will run the server tests located in the `server/tests/` folder. The `Test server` task will run the server tests located in the `server/tests/` folder.
The `Open server coverage` task can only be run after running the server tests and will open the coverage report generated by those tests in a web browser. The `Open server coverage` task can only be run after running the server tests (`Test server` task) and will open the coverage report generated by those tests in a web browser.
The `Unit tests` task will run the unit tests for the client. The `Unit tests` task will run the unit tests for the client.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment