Prerequisites
Before you begin, ensure you have the following installed on your system:Install Apache Maven
Maven is used for dependency management and building the backend. Download Maven from the official website or use a package manager:Verify the installation:
Install Docker and Docker Compose
Docker is used to run PostgreSQL locally. Install Docker Desktop for your operating system.Verify Docker is running:
Install Node.js (for Angular)
The frontend is built with Angular and requires Node.js. Install Node.js 18 or later from nodejs.org or use nvm:Verify the installation:
Clone the repository
Clone the OrgStack repository to your local machine:Set up the database
OrgStack uses PostgreSQL 16 as its primary database. The project includes a Docker Compose configuration for easy setup.Start PostgreSQL with Docker Compose
The Start the database:
docker-compose.yml file configures a PostgreSQL container with the necessary credentials:docker-compose.yml
The
-d flag runs the container in detached mode (in the background).Build and run the backend
With the database running, you can now build and start the Spring Boot backend.Install dependencies
Maven will download all required dependencies specified in This command:
pom.xml:- Cleans any previous build artifacts
- Downloads dependencies (Spring Boot 4.0.3, PostgreSQL driver, Lombok, etc.)
- Compiles the Java code
- Runs tests
- Packages the application
Run the application
Start the Spring Boot application:The backend will start on port 8080. You should see output indicating the application has started successfully:
Set up the frontend
The OrgStack frontend is built with Angular and uses Spartan NG components.Development workflow
With everything set up, your typical development workflow will be:Start all services
Start all services
Stop all services
Stop all services
Troubleshooting
Port already in use
Port already in use
If port 8080 or 5432 is already in use, you’ll need to either:
- Stop the conflicting service
- Change the port in
application.properties(backend) ordocker-compose.yml(database)
Database connection errors
Database connection errors
Ensure:
- PostgreSQL container is running:
docker ps - Database credentials in
application.propertiesmatchdocker-compose.yml - Port 5432 is accessible and not blocked by a firewall
Maven build failures
Maven build failures
Try:
- Clearing Maven cache:
mvn clean - Updating dependencies:
mvn clean install -U - Verifying Java version:
java -version(should be 25)
Next steps
Configuration
Learn how to configure database connections, server settings, and JPA properties
Data model
Understand the entity structure and BaseEntity pattern