Windows Subsystem for Linux - wsl
Open power shell
wsl — install
wsl — install OracleLinux_9_5
sudo dnf install unzip
sudo dnf install zip
mkdir project
cd project
Sdkman
curl -s “https://get.sdkman.io” | bash
sdk version
Oracle JDK 21
Open JDK 21
java -version
Choosing Your IDEs
For Spring Boot, use IntelliJ IDEA or Eclipse. IntelliJ (Community or Ultimate) provides excellent support for Maven, Spring annotations, and REST controllers.
IntelliJ 2025.3.4
claude
/ide
For Angular, use Visual Studio Code (VS Code). It’s lightweight, has great extensions for TypeScript and Angular, and is perfect for frontend work.
Spring Boot
Spring Boot simplifies the backend with opinionated defaults and a plug-and-play architecture. You can quickly spin up REST APIs, connect to databases, handle authentication, and scale with ease—all in clean, maintainable Java.
Use https://start.spring.io
Download Node.js from https://nodejs.org
Node.js
How to Use npm Commands on Windows
Initialize a project: npm init -y
Install a package: npm install <package_name>
Install globally: npm install -g <package_name>
Update npm: npm install -g npm@latest
npm run build
npm test
npm run dev
Angular
Angular is a robust, full-featured frontend framework backed by Google. It supports component-based architecture, powerful forms, built-in routing, state management, and seamless integration with REST APIs.
npm install -g @angular/cli
node -v
ng version
If you are using the terminal, these are the most common commands:
git init: Initializes a new Git repository locally.
git clone [URL]: Copies an existing remote repository to your computer.
git add [file]: Stages changes, preparing them for a commit.
git commit -m "message": Saves the staged changes with a descriptive note.
git push: Sends your local commits to the online GitHub repository.
git pull: Downloads the latest changes from GitHub to your local machine.
Typescript vs JavaScript
Use TypeScript if: You are working on a large-scale enterprise application, collaborating in a team, or building complex systems where long-term stability is critical.
Use JavaScript if: You are learning to code for the first time, building a small personal project, or need to create a rapid prototype where speed is more important than strict type safety.