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_network
is 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_network
network.$ 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.yml
file: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
.env
file: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 dev
When the GraphQL server changes, the generated types must be updated. To do this, run the following command:
$ npx graphql-codegen
The 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