Vault Web is a full-stack project combining a Spring Boot backend, an Angular frontend, and a PostgreSQL database for persistent data storage. It serves as the central entry point for all services in the Vault Web ecosystem, providing a secure and private dashboard for:
- 💬 Internal chats and collaboration tools
- ☁️ Private file cloud (via
vault-cloud) - 🧑💻 User and session management
-
See DIRECTORY.md for a full, generated project structure overview.
-
View our Javadoc documentation for a complete backend API overview.
The project uses Docker to quickly spin up a PostgreSQL database and pgAdmin instance. Make sure you have Docker and Docker Compose installed before you begin.
git clone https://github.com/Vault-Web/vault-web.gitBefore running the containers, create a file named .env in the root directory of the project and add the following environment variables:
# PostgreSQL config
DB_HOST=localhost
DB_PORT=5432
POSTGRES_USER=your_postgres_user
POSTGRES_PASSWORD=your_postgres_password
POSTGRES_DB=vaultdb
# pgAdmin config
PGADMIN_DEFAULT_EMAIL=your_email@example.com
PGADMIN_DEFAULT_PASSWORD=your_pgadmin_password📝 Replace the values with your own settings. Do not use sensitive production credentials during development.
docker compose up -dThis will start the following services:
- PostgreSQL at
localhost:<DB_PORT>(e.g.5432) - pgAdmin at http://localhost:8081
You can access pgAdmin using the credentials you provided in the
.envfile.
The backend runs on port 8080 and connects to the database with the same values defined in .env.
These are the values set in the application properties:
⚠️ Make sure the values for database URL, username, password, and port match exactly with those in your.envfile. Otherwise, the backend will not be able to connect to the database started by Docker.
To run the backend:
cd backend
./mvnw spring-boot:runThen visit:
- App API: http://localhost:8080
- Swagger UI: http://localhost:8080/swagger-ui.html
Install dependencies and start the Angular development server:
cd frontend
npm install
ng sThen open http://localhost:4200 in your browser.
Feel free to open an issue.