This is the UI of DinoDev. It is a vue.js project using TypeScript and Vuetify.
We provide a docker compose file to build the frontend and serve it using Nginx. To run the frontend in production mode, follow the steps below:
- Ensure that the docker network
scrum_game_networkis available. If not, create it using the following command:$ docker network create scrum_game_network
- Either use a deployed version of Gropius or deploy it locally. If you want to deploy Gropius locally, follow the instructions in the Gropius repository.
- Add the login service and the Gropius frontend to the
scrum_game_networknetwork.$ docker network connect scrum_game_network <login-service-container> $ docker network connect scrum_game_network <gropius-frontend-container>
- Figure out the Gropius Login Server URL
The default would be
http://<gropius-login-service-container>:3000 - Add a new OAuth client in Gropius (under the Admin tab)
- Adjust the values in the
docker-compose.ymlfile:If required, replace the backend URLs.environment: - GRAPHQL_ENDPOINT=http://scrum_game:12001/graphql - GRAPHQL_WS_ENDPOINT=http://scrum_game:12001/graphql-ws - WEBHOOK_ENDPOINT=http://scrum_game:12001/webhook - GRAPHIQL_ENDPOINT=http://scrum_game:12001/graphiql - FIXED_CLIENT_ID=<client-id> - AUTH_ENDPOINT=http://<gropius-frontend-container>:4200/auth/oath/
- Run the following command:
$ docker-compose up -d
- The frontend should now be available at port 12200 of the host machine.
To run the frontend in development mode, follow the steps below:
- Figure out the Gropius Login Server URL
If Gropius is run locally, this should be
http://localhost:3000. - Add a Gropius client, like described above.
- Update the values in the
.envfile:Adjust other values as needed, the defaults assume that a local backend is running.VITE_APP_FIXED_CLIENT_ID=<client-id> - Run the following commands:
# install dependencies
$ npm install
# run in development mode
$ npm run devWhen the GraphQL server changes, the generated types must be updated. To do this, run the following command:
$ npx graphql-codegenThe project is structured as follows:
src/contains the source code of the projectassets/contains static assets like imagescomponents/contains Vue componentsrouter/contains the Vue router configurationstore/contains global state managementgql/contains the generated GraphQL typesviews/contains the views of the projectservice/contains the services used to communicate with the backendutils/contains utility functionssetup/contains code to configure the app