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 -versionIt 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:
Node.js Official Downloads: Download the LTS version for the best stability and support.
Verify Installation: After installing, verify by running:
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:
Verify Installation: Run
ng versionto 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:
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 Compose:
Version: Docker Compose 2.1+.
Verify Installation:
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.propertiesfile.
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.propertiesfile.
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-redislibrary.
10. Other Tools:
Git: Version control system.
Verify Installation:
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.
Last updated