AMRIT
  • Introduction
  • Architecture
    • System architecture overview
    • API Guide
    • Integrations
  • Developer Guide
    • Codebase structure
    • Development environment setup
      • System Requirements
      • Software dependencies
      • Installation Instructions
        • For UI repositories
        • For API repositories
      • Common Issues and Troubleshooting
  • Deployment
    • Installation guide
    • CI/CD pipelines
    • Observability
    • Wildfly
      • SSL Configuration for WildFly
  • Data Management
    • Database schema
    • Data privacy and security
    • Data export
    • Reporting
      • Integrating DHIS2 with AMRIT
      • Example Python Scripts
  • Community and Support
    • Contributing to AMRIT
    • How to get help
    • Code of conduct
    • Contribution guidelines
Powered by GitBook
On this page
  • 1. Operating System:
  • 2. Java Development Kit (JDK):
  • 3. Node.js and npm (for Angular 16):
  • 4. Angular CLI:
  • 5. Spring Boot:
  • 6. Development Environment:
  • 7. Docker and Docker Compose (Optional):
  • 8. Database (Optional):
  • 9. Caching (Optional):
  • 10. Other Tools:
  • 11. Additional Recommendations:
  1. Developer Guide
  2. Development environment setup

Software dependencies

PreviousSystem RequirementsNextInstallation Instructions

Last updated 3 months ago

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:

    • : Official JDK from Oracle with licensing and support.

    • : 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):

  • IDE for Frontend (Angular):


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:

    • Version: Docker Compose 2.1+.

    • Verify Installation:

      docker-compose --version

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.

    • Verify Installation:

      git --version
  • 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"

: Download the LTS version for the best stability and support.

.

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

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

: A specialized IDE tailored for Spring applications.

: A lightweight and highly customizable editor for TypeScript and Angular development.

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

.

.

.

.

.

.

.

Oracle JDK
OpenJDK
Node.js Official Downloads
Maven Installation Guide
IntelliJ IDEA
Eclipse IDE
Spring Tool Suite (STS)
Visual Studio Code
WebStorm
Install Docker
Install Docker Compose
Download MySQL
Download MongoDB
Download Redis
Download Git
Download NVM