Build modern web applications quickly using Java, Angular, and NoSQL/SQL databases
JAQ Stack is a comprehensive full-stack development framework that combines the power of Java backend services with modern Angular frontend applications, enabling rapid development of enterprise-grade web applications.
JAQ Stack is a full-stack development framework that combines:
- Java - Robust backend services and REST APIs
- Angular - Modern, reactive frontend framework
- Quick - Rapid development and deployment
- Java 11-21 - Modern Java with latest features (examples use Java 11+ or Java 21)
- Helidon MP - MicroProfile framework for microservices (used in Simple Blog)
- Maven 3.6+ - Dependency management and build automation
- RESTful APIs - Clean, scalable web services
- JWT Authentication - Secure token-based authentication
- MongoDB/SQL - Flexible database options
- Angular 14-20 - Modern reactive frontend framework (examples use Angular 14+ or Angular 20)
- TypeScript - Type-safe JavaScript development
- Angular CLI - Command-line interface for Angular
- Node.js 18+ - JavaScript runtime for development tools
- Maven Tomcat Plugin - Embedded development server
- Angular Dev Server - Hot-reload development environment
- Git - Version control and collaboration
JAQ Stack follows a modern, layered architecture:
βββββββββββββββββββββββββββββββββββββββββββ
β Frontend Layer β
β βββββββββββββββββββββββββββββββββββββββ β
β β Angular Application β β
β β β’ Components & Services β β
β β β’ HTTP Client & Authentication β β
β β β’ Routing & Guards β β
β βββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββ
β
β HTTP/REST API
βΌ
βββββββββββββββββββββββββββββββββββββββββββ
β Backend Layer β
β βββββββββββββββββββββββββββββββββββββββ β
β β Java Services β β
β β β’ REST Controllers β β
β β β’ Business Logic β β
β β β’ Authentication & Authorization β β
β βββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββ
β
β Data Access
βΌ
βββββββββββββββββββββββββββββββββββββββββββ
β Data Layer β
β βββββββββββββββββββββββββββββββββββββββ β
β β Database β β
β β β’ MongoDB (NoSQL) β β
β β β’ SQL Databases β β
β β β’ Data Models & Repositories β β
β βββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββ
Before getting started, ensure you have:
- Java 11+ (Java 21 recommended for Simple Blog) - Download
- Node.js 18+ - Download
- Angular CLI -
npm install -g @angular/cli - Maven 3.6+ - Download
- MongoDB (optional, required for some examples) - Download
-
Clone the repository
git clone https://github.com/[your-username]/jaqstack-examples.git cd jaqstack-examples -
Explore the examples
# Basic Authentication example (Tomcat-based) cd examples/basicauthentication mvn clean package mvn tomcat7:run # Access at http://localhost:8080/basicauth # Simple Blog example (Helidon MP) cd examples/simpleblog mvn clean package java -jar target/simpleblog.jar # Access at http://localhost:8080
-
Access the applications
- Each example has its own README with specific instructions
- Check the Available Examples section for details
jaqstack-examples/
βββ core/ # Core framework and utilities
β βββ src/main/java/ # Core Java services
β βββ src/main/webapp/ # Core web resources
β βββ ui.resources/ # Core Angular components
βββ examples/ # Example applications
β βββ basicauthentication/ # Authentication example
β βββ azureblobviewer/ # Azure integration example
β βββ simpleblog/ # Simple blog with Helidon MP
β βββ README.md # Examples documentation
βββ docs/ # Documentation
βββ README.md # This file
| Example | Description | Key Features |
|---|---|---|
| π Basic Authentication | Complete authentication system with user management, JWT tokens, and MongoDB integration. | User registration and login, JWT token-based authentication, MongoDB integration, Angular authentication guards, RESTful API endpoints |
| βοΈ Azure Blob Viewer | Azure Blob Storage integration for cloud file management and viewing. | Azure Blob Storage integration, File upload and download, Image preview and management, RESTful API for blob operations |
| π Simple Blog | A simple blog application built with Java, Angular, Helidon, and MongoDB. | Create and read blog posts, RESTful API backend with Helidon MP, Modern Angular 20 frontend, MongoDB database integration, CORS support |
- Create Java services in
src/main/java/ - Build with Maven -
mvn clean package - Run development server -
- For Tomcat-based examples:
mvn tomcat7:run - For Helidon MP examples:
java -jar target/[app-name].jar
- For Tomcat-based examples:
- Test APIs using Postman or browser
- Navigate to UI resources -
cd ui.resources/ - Install dependencies -
npm install - Start development server -
ng serve - Build for production -
ng build --prod
- Start backend -
- Tomcat-based:
mvn tomcat7:run - Helidon MP:
java -jar target/[app-name].jar
- Tomcat-based:
- Start frontend -
cd ui.resources && ng serve - Access application -
http://localhost:4200(frontend) orhttp://localhost:8080(backend API)
JAQ Stack is built using industry-standard tools and frameworks:
- Maven Archetype Webapp - Standard Java web application structure
- Helidon MP - MicroProfile framework for microservices
- Angular CLI - Modern Angular development tools
- Bootstrap Themes - Professional UI components
- Initializr - Modern web app boilerplate
JAQ Stack includes modern, responsive themes:
- Initializr 9 - http://www.initializr.com/
- Bootstrap Integration - Responsive design framework
- Angular Material - Modern UI components
- Custom Themes - Extensible styling system
- Examples Documentation - Comprehensive examples guide
- Core Documentation - Framework core documentation
- API Documentation - Detailed API references
We welcome contributions to JAQ Stack! Here's how you can help:
- Fork the repository
- Create a feature branch -
git checkout -b feature/amazing-feature - Commit your changes -
git commit -m 'Add amazing feature' - Push to the branch -
git push origin feature/amazing-feature - Open a Pull Request
- Suren Konathala - Principal Architect/Developer @ksurendra
- Viswa Patimalla - Senior Developer
JAQ Stack is built on the shoulders of giants:
- Java - Oracle Corporation
- Angular - Google
- Maven - Apache Maven Project
- MongoDB - MongoDB Inc.
- Bootstrap - Twitter Bootstrap Team
This project is licensed under the MIT License - see the LICENSE file for details.
- Documentation - Check the examples and docs directories
- Issues - Report bugs and request features on GitHub
- Discussions - Join the community discussions
- Twitter - Follow @ksurendra for updates
Happy Coding with JAQ Stack! π