Skip to content

Technologies

qtipee edited this page Apr 12, 2020 · 15 revisions

Technologies

Backend

REST API with Django REST Framework.

Django REST Framework is really useful when developing an API. In addition - as the frontend application is developed with Nuxt.js - there is no need for HTML templating.

Frontend

Web client with Nuxt.js, which is based on Vue.js.

The advantage of Nuxt.js is that the SEO is improved « due to the fact that full contents of each page are being served by the web server before any client-side JavaScript is executed » (Wikipedia).

Testing

Backend

  • CI/CD using Github actions : it basically installs the dependencies - from requirements.txt - and then runs all the available tests ; if they all pass, then the application can be deployed. Based on this tutorial, a code analysis - linting - should be done before running the tests. Here is an example from another Django project.
  • Unit & Regression Tests : test the new features with unit tests and make sure the previous features are not impacted with the Testing in Django.

Frontend

  • CI/CD using Nuxt.js commands :
    • npm run build : it builds the application with webpack and minify the JS & CSS (for production) ; the build is located in the dist folder.
    • Deploy the created dist folder to a static hosting like GitHub Pages or nginx (add a deploy command to the application scripts)
    • npm run start : starts the application in production mode.
  • Unit & Regression Tests with Nuxt.js development tools.
  • Application performances & good practices with Google Lighthouse.
  • Simulate user navigation with Cypress.io (can also do unit tests).
  • Ask real users to test the application and to give some feedback ; their feedback should be documented.
Clone this wiki locally