Skip to content

Latest commit

 

History

History
225 lines (159 loc) · 7.38 KB

File metadata and controls

225 lines (159 loc) · 7.38 KB

Fullstack Application : Angular 20, Node.js and Java 21

logo ganatan

🚀 Project Goals

  • ✅ Complete frontend / backend stack
  • ✅ CI/CD and Docker compatibility
  • ✅ Simple deployment (Docker optional)
  • ✅ Isolated and testable components

👉 Version française disponible ici : Français


Component Description
Frontend Angular 20 — SPA with Routing, SSR, PWA, SEO
Backend JavaScript Node.js 22 + Express — REST API with mocked data or database
Backend TypeScript Node.js 22 + TypeScript — Typed REST API with data or database
Backend Spring Boot Java 21 + Spring Boot — Simple and modern REST API

🔧 Continuous Integration (CI)

Project CI Badge
Frontend Angular Frontend Angular CI
Backend JavaScript Backend JavaScript CI
Backend TypeScript Backend TypeScript CI
Backend Spring Boot Backend Spring Boot CI

📦 Docker Images

Component Docker Badge
Backend JavaScript Docker Image Version - Backend JavaScript
Backend TypeScript Docker Image Version - Backend TypeScript
Backend Spring Boot Docker Image Version - Backend Spring Boot
Frontend Angular Docker Image Version - Frontend Angular

📦 Tech Stack

Angular Node Java Docker License: MIT


📚 Table of Contents


🌐 Live Demo

🔗 Check out the Angular demo

Angular 20 Example Application


📁 Project Structure

🧩 Frontend

  • frontend-angular
    Angular 19 app (with Routing, Lazy loading, SSR, PWA, SEO)

🚀 Backends

  • backend-javascript
    Express.js API in JavaScript with PostgreSQL, MySQL or mock data

  • backend-typescript
    Express.js API in TypeScript with PostgreSQL, MySQL or mock data


🔧 Frontend Configuration (Angular)

In frontend-angular/src/environments/environment.ts:

useDatabase: false,
backend: 'http://localhost:3000',
useDatabase Mode
false Mocked data handled in frontend
true Real data fetched from backend

🛠 Backend Configuration

In .env file:

PORT=3000
DB_CLIENT=mock # mock | pg | mysql
DB_CLIENT Data Source
mock Mocked data
pg PostgreSQL
mysql MySQL

🔗 Exposed APIs

Resource URL
Continents http://localhost:3000/continents
Cities http://localhost:3000/cities
Countries http://localhost:3000/countries
Persons http://localhost:3000/persons
Professions http://localhost:3000/professions

⚙️ Quick Start

▶️ Clone the project

git clone https://github.com/ganatan/angular-app.git
cd angular-app

▶️ Frontend Angular

cd frontend-angular
npm install
npm start
# http://localhost:4200

▶️ Backend JavaScript

cd backend-javascript
npm install
npm start
# http://localhost:3000

▶️ Backend TypeScript

cd backend-typescript
npm install
npm start
# http://localhost:3000

🐳 Deployment with Docker

▶️ Prerequisites

▶️ Launch the Angular frontend with Docker

docker pull ganatan/frontend-angular
docker run -d -p 4200:4200 ganatan/frontend-angular
# http://localhost:4200

▶️ Launch the JavaScript backend with Docker

docker pull ganatan/backend-javascript
docker run -d -p 8080:8080 ganatan/backend-javascript
# http://localhost:8080

▶️ Launch the Typescript backend with Docker

docker pull ganatan/backend-typescript
docker run -d -p 8080:8080 ganatan/backend-typescript
# http://localhost:8080

👤 Author


📚 Documentation