Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Edwin950821/BodegaX/llms.txt

Use this file to discover all available pages before exploring further.

Before installing any dependencies or cloning the repository, confirm that every tool listed on this page is available on your machine. BodegaX is a full-stack application composed of three separate runtime environments — a Node.js-based Angular 17 frontend, a Java-based Spring Boot 3.x backend, and a PostgreSQL 14+ database — each of which must be satisfied independently. Missing or mismatched versions are the most common cause of startup failures during local development.
BodegaX was originally designed and optimized for Windows environments. All tooling, path conventions, and .vscode/tasks.json scripts were written on Windows. The application runs without modification on macOS and Linux, but terminal commands (especially for Java and Maven) may differ slightly depending on your shell.

Requirements at a Glance

CategoryTool / LibraryRequired VersionNotes
RuntimeNode.js18 LTS or laternpm is bundled; no separate install needed
Package ManagernpmIncluded with Node.jsUsed for all frontend dependency management
CLIAngular CLI17.x or laterInstalled globally via npm install -g @angular/cli
LanguageTypeScript~5.2.2Installed as a dev dependency; do not install globally
FrameworkAngular Core^17.0.0Installed via npm install
UI LibraryAngular Material + CDK^17.3.8Provides the deep-purple/amber theme and all UI components
Async LibraryRxJS~7.8.0Used throughout services and HTTP calls
PDF GenerationjsPDF^2.5.2Powers invoice and report export
PDF Tablesjspdf-autotable^3.8.4Required companion plugin to jsPDF
RuntimeJava JDK17 or laterOpenJDK 17 recommended; required for Spring Boot
Build ToolMaven or GradleMaven 3.8+ / Gradle 8+Maven is most common for Spring Boot 3.x projects
FrameworkSpring Boot3.xEmbedded Tomcat; no external server needed
App ServerTomcatEmbedded in Spring BootNo separate Tomcat installation required
DatabasePostgreSQL14 or laterPostgreSQL 15/16 also supported
DB ClientpgAdmin or DBeaverAny current versionRecommended for schema inspection and seeding
BrowserChrome, Firefox, Edge, SafariLatest stableRequired for running the Angular app
Screen ResolutionMinimum display size1366 × 768Lower resolutions may clip the sidebar layout

Frontend Requirements

The Angular frontend uses the @angular-devkit/build-angular:application builder (not the legacy browser builder), which requires a modern version of Node.js and a globally available Angular CLI.

Node.js 18 LTS

Download from nodejs.org. The LTS release ships with npm and npx included. Verify your installation with node --version and npm --version.

Angular CLI 17

Install once globally: npm install -g @angular/cli. Confirm with ng version. The CLI must be 17.x or later to process the @angular-devkit/build-angular:application builder used in angular.json.

TypeScript ~5.2.2

TypeScript is listed as a dev dependency in package.json and is installed automatically by npm install. Do not install TypeScript globally, as a version mismatch between the global install and the local install will cause ng build to fail.

Angular Material ^17.3.8

BodegaX uses the deeppurple-amber prebuilt theme, loaded in angular.json under styles. Both @angular/material and @angular/cdk at version ^17.3.8 are required and installed together via npm install.

Key Frontend Dependencies

The following packages are declared in package.json and are installed automatically when you run npm install. You do not need to install them separately.
PackageVersionPurpose
@angular/core^17.0.0Core Angular framework
@angular/common^17.0.0CommonModule, HTTP client utilities
@angular/forms^17.0.0Template-driven and reactive forms
@angular/router^17.0.0Client-side routing between modules
@angular/animations^17.0.0Angular Material animation support
@angular/material^17.3.8Material Design component library
@angular/cdk^17.3.8Component Dev Kit — required by Material
@angular/platform-browser^17.0.0DOM rendering engine
@angular/platform-browser-dynamic^17.0.0JIT compilation at bootstrap
rxjs~7.8.0Reactive extensions for async data streams
jspdf^2.5.2Client-side PDF generation
jspdf-autotable^3.8.4Table rendering plugin for jsPDF
zone.js~0.14.2Angular change detection
tslib^2.3.0TypeScript runtime helpers
PackageVersionPurpose
@angular/cli^17.0.0CLI toolchain (ng serve, ng build)
@angular-devkit/build-angular^17.0.0Webpack/esbuild builder
@angular/compiler-cli^17.0.0AOT template compiler
typescript~5.2.2TypeScript compiler
karma~6.4.0Test runner
karma-chrome-launcher~3.2.0Headless Chrome for unit tests
jasmine-core~5.1.0Test assertion framework
@types/jasmine~5.1.0TypeScript types for Jasmine
@types/node^22.7.4Node.js type definitions

Backend Requirements

The Spring Boot backend is housed in a separate repository. You will need a working Java 17 environment and either Maven or Gradle to compile and run it.

Java 17 JDK

Install OpenJDK 17 from adoptium.net or your OS package manager. Set JAVA_HOME to point to the JDK root. Verify with java -version — output must show 17.x.

Maven 3.8+

Download from maven.apache.org. Add the bin/ directory to your PATH. Verify with mvn --version. Maven is used to run mvn spring-boot:run and package the JAR for deployment.

Spring Boot 3.x

Spring Boot 3.x is declared in the backend’s pom.xml and is downloaded by Maven automatically. It includes an embedded Tomcat server — no standalone Tomcat installation is needed.

Embedded Tomcat

Spring Boot 3.x bundles Tomcat internally. The backend starts on port 8080 by default. All Angular HTTP calls in the source code target http://localhost:8080.

Database Requirements

PostgreSQL 14+

Install from postgresql.org. The default port is 5432. Create a dedicated database for BodegaX and note the database name, username, and password for use in application.properties.

Database Client (Recommended)

pgAdmin 4 or DBeaver makes it easy to verify the schema after Hibernate auto-creates it, seed initial data, and run diagnostic queries during development. Neither is strictly required.

Browser Requirements

BodegaX’s Angular 17 frontend compiles to ES2022 (as set in tsconfig.json under target and module). Any modern evergreen browser supports this target natively.

Supported Browsers

  • Google Chrome (latest stable)
  • Mozilla Firefox (latest stable)
  • Microsoft Edge (latest stable)
  • Apple Safari (latest stable)

Display Requirements

Minimum resolution: 1366 × 768 px. The sidebar layout and data tables are not designed for resolutions below this threshold. The interface is responsive for tablets and desktops.

Optional Cloud Tooling

These tools are only required if you plan to deploy BodegaX to a cloud provider rather than running it locally.

GCP Account

A Google Cloud account with billing enabled. The recommended deployment uses Cloud Run (backend), Cloud SQL for PostgreSQL (database), and Firebase Hosting or Cloud Storage (frontend).

Google Cloud CLI

Install the gcloud CLI from cloud.google.com/sdk. Required for pushing Docker images to Artifact Registry and deploying to Cloud Run.

Docker

Required to build the Spring Boot container image for Cloud Run or GKE. Install Docker Desktop from docker.com.

Firebase CLI

Install with npm install -g firebase-tools. Required only if deploying the Angular frontend to Firebase Hosting (firebase deploy).
If you are only running BodegaX locally for development, you do not need any cloud tooling. Cloud provider accounts and Docker are only required when preparing a production deployment.

Build docs developers (and LLMs) love