Software dependencies

1. Operating System:

The development environment for a Spring Boot 3 and Angular 16 application can be set up on any modern operating system. Ensure that your system meets the following requirements:

  • Windows 10/11 (64-bit): Suitable for most development setups.

  • macOS (Big Sur or later): Offers great compatibility with open-source tooling and a Unix-based system.

  • Linux (Ubuntu 20.04+, Fedora, etc.): Popular among developers for its performance, flexibility, and ease of use in programming environments.


2. Java Development Kit (JDK):

Spring Boot 3 requires Java 17 (LTS version) as it offers long-term support and compatibility.

  • Version: Java 17 (LTS).

  • Installation Guide:

    • Oracle JDK: Official JDK from Oracle with licensing and support.

    • OpenJDK: Free and open-source implementation.

  • Verify Installation: Once installed, verify by running the following command:

    java -version

    It should display Java 17.


3. Node.js and npm (for Angular 16):

Node.js is essential for Angular development, as it powers the Angular CLI, package management, and builds.

  • Version: Node.js 18+ (for Angular 16+).

  • Installation Guide:

  • Verify Installation: After installing, verify by running:

    node --version
    npm --version

4. Angular CLI:

The Angular CLI helps you scaffold and manage Angular applications.

  • Version: Angular CLI 16.x.

  • Installation Command: Install Angular CLI globally via npm:

    npm install -g @angular/cli@16
  • Verify Installation: Run ng version to confirm the CLI is properly installed.


5. Spring Boot:

Spring Boot simplifies the development of Java-based enterprise applications by providing pre-configured templates and reducing boilerplate.

  • Version: Spring Boot 3.x.

  • Build Tool: Maven (preferred) or Gradle.

  • Installation Command (Maven): Maven is a build automation tool used for managing dependencies and packaging your Spring Boot project.

  • Verify Installation: After installing Maven, verify with:

    mvn -version

6. Development Environment:

You’ll need integrated development environments (IDEs) that support Java and TypeScript for backend and frontend development, respectively.

  • IDE for Backend (Spring Boot):

    • IntelliJ IDEA: Great for Java-based development and Spring Boot. It has dedicated support for Spring.

    • Eclipse IDE: A popular open-source IDE with Spring Boot support.

    • Spring Tool Suite (STS): A specialized IDE tailored for Spring applications.

  • IDE for Frontend (Angular):

    • Visual Studio Code: A lightweight and highly customizable editor for TypeScript and Angular development.

    • WebStorm: A feature-rich IDE with built-in Angular support.


7. Docker and Docker Compose (Optional):

Docker and Docker Compose are only required if you want to set up dummy data locally using the amrit-devops repository. This setup includes pre-configured databases (MySQL and MongoDB) and Redis, so you do not need to manually install MySQL, MongoDB, or Redis (steps 8, 9, and 10) if using Docker.

  • Docker:

    • Version: Docker 20.10+.

    • Verify Installation:

      docker --version
  • Docker Compose:


8. Database (Optional):

If you are not using Docker, the AMRIT platform requires a database. We use MySQL and MongoDB.

  • MySQL:

    • Version: MySQL 8+.

    • After installation, use MySQL Workbench or the command line to manage your database.

    • Configure your Spring Boot application with the required database connection properties in the application.properties file.

  • MongoDB:

    • Version: MongoDB 6.0+.

    • After installation, use MongoDB Compass or the command line to manage your database.

    • Configure your Spring Boot application with the required MongoDB connection properties in the application.properties file.


9. Caching (Optional):

If you are not using Docker, Redis is used for caching to improve performance.

  • Redis:

    • Redis is integrated into Spring Boot via the spring-data-redis library.


10. Other Tools:

  • Git: Version control system.

  • NVM (Node Version Manager): To manage multiple Node.js versions if needed.

  • Browser: The latest version of Google Chrome, Firefox, or Microsoft Edge is recommended for testing and debugging Angular apps.


11. Additional Recommendations:

  • Memory Allocation: Spring Boot applications, especially large ones, may require a substantial amount of memory. Allocate 2 GB or more to the JVM to avoid performance issues during development.

    export JAVA_OPTS="-Xms2g -Xmx4g"

Last updated