This project was archived on the 02.09.2025. A new Repository was created that combines both the Frontend and the backend of the "Project Metadata Platform". It can be found here: https://github.com/appsfactorygmbh/project-metadata-platform
This project is a Vue 3 web application with TypeScript integration, utilizing modern tools like Vite, ESLint, Prettier, and Vitest for development and testing.
- Node.js (v16+)
- Corepack (manages package managers like Yarn)
- Yarn
-
Clone the repository:
git clone <repository-url> cd frontend
-
Enable Corepack and install dependencies:
corepack enable yarn install
Development:
yarn devRuns the app in development mode.
Build:
yarn buildBuilds the app for production.
Preview:
yarn previewPreviews the production build.
Lint:
yarn lintLints the codebase with ESLint. Recommended to execute before committing.
Format:
yarn formatFormats the codebase with Prettier. Recommended to execute before committing.
Test:
yarn testRuns unit tests with Vitest.
Test UI:
yarn test:uiRuns the Vitest UI.
public: Static public files like favicon or fontssrc: Source filesassets: Static assets like imagescomponents: Vue reusable componentsmodels: TypeScript modelsrouter: Vue router configurationservices: API servicesstore: Pinia storesviews: Vue views/pages
...
To use the backend service during development, one needs to run the backend service locally. This can easily be done with docker.
-
Install Docker and Docker Compose: https://docs.docker.com/get-docker/ and https://docs.docker.com/compose/install/
-
Download the latest version of
docker-compose-local.ymlfrom the backend repository: https://github.com/appsfactorygmbh/project-metadata-platform-backend/blob/main/docker-compose-local.yml -
Run the backend service by running these commands in the same directory as the downloaded
docker-compose-local.ymlfile (You may need to add-betweendockerandcompose):docker compose -f docker-compose-local.yml pull docker compose -f docker-compose-local.yml up --remove-orphans
-
The backend service should now be available at
http://localhost:8090. This URL is already configured in the.envfile of the frontend. Simply useimport.meta.env.VITE_BACKEND_URL + "/<your-endpoint>"to access the api. For example:const response = await fetch(import.meta.env.VITE_BACKEND_URL + '/projects');
-
The env files are already configured to use the correct backend URLs in the staging and production environments. No further changes are necessary after local development is over.
-
The Swagger UI of the backend service is available at
http://localhost:8090/swagger/index.html. -
To stop the backend service, hit
Ctrl+Cin the terminal where the service is running.