The application allows reporting and searching for descriptions of RPA processes. The backend is develop by Digital Identity.
The customer host the source code at: https://bitbucket.org/os2offdig/os2autoproces-frontend.
Documents related to the project: https://drive.google.com/drive/folders/1IIzsSsWfDnOGX5siwrPn30jMmMZKCyn7
The project backlog: https://itminds.atlassian.net/secure/RapidBoard.jspa?rapidView=143&projectKey=AP&view=planning.nodetail
The application is written as a Vue.js application using Vuex for state management and Vuetify for general components. The application is written in TypeScript using the vue-class-component and vue-property-decorator packages, which allows writting Vue components as classes.
The Vue CLI is used to run and build the project.
Folders of interest:
- Docker contains configuration and scripts used by the Docker deployment.
- public contains index.html and environment config.
- logos contains a logo for each municipality. The images are named by the cvr number of the municipality.
- src
- components
- common contains all components used across the application, including general form input components.
- details contains all the form sections of the details page.
- search contains all components used on the search page.
- icons contains all icons, which are components containing svg code.
- models contains types for domain models.
- services contains the http service and parsing logic for communicating with the backend.
- store contains all state management code.
- modules
- auth a module for logging in.
- common contains general data used across the application.
- error contains validation errors from the details page.
- process contains the state of the details page.
- search contains the state of the search page.
- modules
- views contains the top level components which are routed to.
- components
Environment config is managed in /public/environment-config.js Environment config works by the Docker containers startup.sh script writes environment variables in /public/environment-config.js which is loaded in the index.html file. That way the frontend has access to the configuration giving to the Docker image when it is started.
All icons in the application are added by creating a Vue component with the icons svg code.
This README contains all documentation for the project.
Documentation for the backend: https://dev.os2autoproces.eu/doc
Be careful when updating the Vuetify package. It often breaks the styling of custom components in the application.
There are no known bugs.
There are no recommendations.
Follow Local dev environment instructions bellow. But be aware of:
- use Node.js 14.21.3 (Fermium) and the included npm version (tested and works with npm 9.6.2) (https://nodejs.org/en/blog/release/v14.21.3)
- make sure you have Visual Studio and the Desktop development with C++ downloaded (for some reason the project needs it to run even though you are using Visual Studio Code)
- To run project follow these steps:
- Install and run nginx. You need an nginx.conf file with the right setting. You can find a nginx.conf file in the nginx folder of this project, but it needs to be in the nginx folder. To start nginx type 'start nginx' in a terminal opened from the nginx folder. To stop type 'nginx -s stop'.
- Start your local backend (or use 'https://dev.os2autoproces.eu')
- If you are using your local backend you need to change the url in environment-config.js in this project. Replace 'https://dev.os2autoproces.eu' with 'https://localhost/backend'
- Start the frontend. In the terminal type 'npm install' and then 'npm run serve'
- Now you should be able to access the frontend at 'https://localhost/'
- If you get a blank page it is propbably due to a duplicate dependency problem. Go to \os2autoproces-frontend\node_modules\tiptap-extensions in that folder you will find a folder called 'node_modules'. Delete that folder and type 'npm run serve' in the terminal again. Then you should be good to go.
First install packages with npm install
.
npm run serve
will start the dev server.
The application depends on the backend running on https://dev.os2autoproces.eu/
Test credentials for use during development can be found in the API docs at https://dev.os2autoproces.eu/doc#chapter-2-3, Temporary Development Setup. Note these credentials might not be up to date.... You might need to use and/or update the credentials below:
User: itminds2@digitalidentity PW: Test1234 Test municipality: Digital Identity
npm run test:unit
will run the unit tests.
npm run test:e2e
will run the e2e tests.
npm run lint
will lint the application.
Lint rules are defined in /tslint.json.
There is no database in the project.
The customer handles deployment in this project. The application is hosted in a Docker container running an NGINX server.
The project is built as part of building the Docker image.
The first step of the Dockerfile is copying the source files and building them.
Access is needed for pushing to the customers Bitbucket repository.
Project Manager: cst@it-minds.dk
Lead Developer: rsr@it-minds.dk
Backend Developer: bsg@digital-identity.dk