Skip to content

Commit 61656ed

Browse files
authored
Merge pull request #31 from JAQStack/develop
updates from develop
2 parents 3cc7869 + 2ff8363 commit 61656ed

File tree

4 files changed

+67
-79
lines changed

4 files changed

+67
-79
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
*.idea
77
.idea/
88

9+
# VS Code files
10+
.vscode/
11+
912
# Eclipse files
1013
.settings/
1114
.project

.vscode/settings.json

Lines changed: 0 additions & 3 deletions
This file was deleted.

README.md

Lines changed: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,18 @@ JAQ Stack is a full-stack development framework that combines:
1414
## 🏗️ The Technology Stack
1515

1616
### Backend Technologies
17-
- **Java 11+** - Modern Java with latest features
17+
- **Java 11-21** - Modern Java with latest features (examples use Java 11+ or Java 21)
18+
- **Helidon MP** - MicroProfile framework for microservices (used in Simple Blog)
1819
- **Maven 3.6+** - Dependency management and build automation
1920
- **RESTful APIs** - Clean, scalable web services
2021
- **JWT Authentication** - Secure token-based authentication
2122
- **MongoDB/SQL** - Flexible database options
2223

2324
### Frontend Technologies
24-
- **Angular 14+** - Modern reactive frontend framework
25+
- **Angular 14-20** - Modern reactive frontend framework (examples use Angular 14+ or Angular 20)
2526
- **TypeScript** - Type-safe JavaScript development
2627
- **Angular CLI** - Command-line interface for Angular
27-
- **Node.js 14+** - JavaScript runtime for development tools
28+
- **Node.js 18+** - JavaScript runtime for development tools
2829

2930
### Development Tools
3031
- **Maven Tomcat Plugin** - Embedded development server
@@ -76,11 +77,11 @@ JAQ Stack follows a modern, layered architecture:
7677
### Prerequisites
7778
Before getting started, ensure you have:
7879

79-
- **Java 11+** - [Download](https://www.oracle.com/java/technologies/downloads/)
80-
- **Node.js 14+** - [Download](https://nodejs.org/)
80+
- **Java 11+** (Java 21 recommended for Simple Blog) - [Download](https://www.oracle.com/java/technologies/downloads/)
81+
- **Node.js 18+** - [Download](https://nodejs.org/)
8182
- **Angular CLI** - `npm install -g @angular/cli`
8283
- **Maven 3.6+** - [Download](https://maven.apache.org/download.cgi)
83-
- **MongoDB** (optional) - [Download](https://www.mongodb.com/try/download/community)
84+
- **MongoDB** (optional, required for some examples) - [Download](https://www.mongodb.com/try/download/community)
8485

8586
### Getting Started
8687

@@ -92,14 +93,22 @@ Before getting started, ensure you have:
9293

9394
2. **Explore the examples**
9495
```bash
95-
# Basic Authentication example
96+
# Basic Authentication example (Tomcat-based)
9697
cd examples/basicauthentication
9798
mvn clean package
9899
mvn tomcat7:run
100+
# Access at http://localhost:8080/basicauth
101+
102+
# Simple Blog example (Helidon MP)
103+
cd examples/simpleblog
104+
mvn clean package
105+
java -jar target/simpleblog.jar
106+
# Access at http://localhost:8080
99107
```
100108

101-
3. **Access the application**
102-
- Open your browser to `http://localhost:8080/basicauth`
109+
3. **Access the applications**
110+
- Each example has its own README with specific instructions
111+
- Check the [Available Examples](#-available-examples) section for details
103112

104113
## 📁 Project Structure
105114

@@ -112,38 +121,28 @@ jaqstack-examples/
112121
├── examples/ # Example applications
113122
│ ├── basicauthentication/ # Authentication example
114123
│ ├── azureblobviewer/ # Azure integration example
124+
│ ├── simpleblog/ # Simple blog with Helidon MP
115125
│ └── README.md # Examples documentation
116126
├── docs/ # Documentation
117127
└── README.md # This file
118128
```
119129

120130
## 🎯 Available Examples
121131

122-
### 🔐 [Basic Authentication](./examples/basicauthentication/)
123-
Complete authentication system with user management, JWT tokens, and MongoDB integration.
124-
125-
**Features:**
126-
- User registration and login
127-
- JWT token-based authentication
128-
- MongoDB integration
129-
- Angular authentication guards
130-
- RESTful API endpoints
131-
132-
### ☁️ [Azure Blob Viewer](./examples/azureblobviewer/)
133-
Azure Blob Storage integration for cloud file management and viewing.
134-
135-
**Features:**
136-
- Azure Blob Storage integration
137-
- File upload and download
138-
- Image preview and management
139-
- RESTful API for blob operations
132+
| Example | Description | Key Features |
133+
|---------|-------------|--------------|
134+
| 🔐 [Basic Authentication](./examples/basicauthentication/) | 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 |
135+
| ☁️ [Azure Blob Viewer](./examples/azureblobviewer/) | 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 |
136+
| 📝 [Simple Blog](./examples/simpleblog/) | 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 |
140137

141138
## 🛠️ Development Workflow
142139

143140
### Backend Development
144141
1. **Create Java services** in `src/main/java/`
145142
2. **Build with Maven** - `mvn clean package`
146-
3. **Run development server** - `mvn tomcat7:run`
143+
3. **Run development server** -
144+
- For Tomcat-based examples: `mvn tomcat7:run`
145+
- For Helidon MP examples: `java -jar target/[app-name].jar`
147146
4. **Test APIs** using Postman or browser
148147

149148
### Frontend Development
@@ -153,15 +152,18 @@ Azure Blob Storage integration for cloud file management and viewing.
153152
4. **Build for production** - `ng build --prod`
154153

155154
### Full-Stack Development
156-
1. **Start backend** - `mvn tomcat7:run`
155+
1. **Start backend** -
156+
- Tomcat-based: `mvn tomcat7:run`
157+
- Helidon MP: `java -jar target/[app-name].jar`
157158
2. **Start frontend** - `cd ui.resources && ng serve`
158-
3. **Access application** - `http://localhost:4200`
159+
3. **Access application** - `http://localhost:4200` (frontend) or `http://localhost:8080` (backend API)
159160

160161
## 🏗️ Built With
161162

162163
JAQ Stack is built using industry-standard tools and frameworks:
163164

164165
- **Maven Archetype Webapp** - Standard Java web application structure
166+
- **Helidon MP** - MicroProfile framework for microservices
165167
- **Angular CLI** - Modern Angular development tools
166168
- **Bootstrap Themes** - Professional UI components
167169
- **Initializr** - Modern web app boilerplate

examples/README.md

Lines changed: 32 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -19,54 +19,22 @@ JAQ Stack is a full-stack development framework that combines:
1919

2020
## 🎯 Available Examples
2121

22-
### 1. [Basic Authentication](./basicauthentication/)
23-
**Description**: Complete authentication system with user registration, login, and JWT token management.
24-
25-
**Features**:
26-
- User registration and login
27-
- JWT token-based authentication
28-
- MongoDB integration
29-
- Angular frontend with authentication guards
30-
- RESTful API endpoints
31-
32-
**Technologies**: Java, Angular, MongoDB, JWT, Maven
33-
34-
**Quick Start**:
35-
```bash
36-
cd examples/basicauthentication
37-
mvn clean package
38-
mvn tomcat7:run
39-
```
40-
41-
### 2. [Azure Blob Viewer](./azureblobviewer/)
42-
**Description**: Azure Blob Storage integration for viewing and managing cloud storage files.
43-
44-
**Features**:
45-
- Azure Blob Storage integration
46-
- File upload and download
47-
- Image preview and management
48-
- RESTful API for blob operations
49-
- Angular frontend with file management
50-
51-
**Technologies**: Java, Angular, Azure Blob Storage, Maven
52-
53-
**Quick Start**:
54-
```bash
55-
cd examples/azureblobviewer
56-
mvn clean package
57-
mvn tomcat7:run
58-
```
22+
| Example | Description | Key Features | Technologies |
23+
|---------|-------------|--------------|--------------|
24+
| 🔐 [Basic Authentication](./basicauthentication/) | Complete authentication system with user registration, login, and JWT token management. | User registration and login, JWT token-based authentication, MongoDB integration, Angular frontend with authentication guards, RESTful API endpoints | Java, Angular, MongoDB, JWT, Maven |
25+
| ☁️ [Azure Blob Viewer](./azureblobviewer/) | Azure Blob Storage integration for viewing and managing cloud storage files. | Azure Blob Storage integration, File upload and download, Image preview and management, RESTful API for blob operations, Angular frontend with file management | Java, Angular, Azure Blob Storage, Maven |
26+
| 📝 [Simple Blog](./simpleblog/) | 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 | Java 21, Helidon MP 4.3.1, Angular 20, MongoDB, Maven |
5927

6028
## 🚀 Quick Start
6129

6230
### Prerequisites
6331
Before running any example, ensure you have:
6432

65-
- **Java 11+** - [Download](https://www.oracle.com/java/technologies/downloads/)
66-
- **Node.js 14+** - [Download](https://nodejs.org/)
33+
- **Java 11+** (Java 21 recommended for Simple Blog) - [Download](https://www.oracle.com/java/technologies/downloads/)
34+
- **Node.js 18+** - [Download](https://nodejs.org/)
6735
- **Angular CLI** - `npm install -g @angular/cli`
6836
- **Maven 3.6+** - [Download](https://maven.apache.org/download.cgi)
69-
- **MongoDB** (for Basic Authentication example) - [Download](https://www.mongodb.com/try/download/community)
37+
- **MongoDB** (required for Basic Authentication and Simple Blog examples) - [Download](https://www.mongodb.com/try/download/community)
7038

7139
### Running an Example
7240

@@ -85,13 +53,25 @@ Before running any example, ensure you have:
8553
```
8654

8755
4. **Build and run**
56+
57+
**For Tomcat-based examples** (Basic Authentication, Azure Blob Viewer):
8858
```bash
8959
mvn clean package
9060
mvn tomcat7:run
61+
# Access at http://localhost:8080/[example-name]
62+
```
63+
64+
**For Helidon MP examples** (Simple Blog):
65+
```bash
66+
mvn clean package
67+
java -jar target/simpleblog.jar
68+
# Access at http://localhost:8080
9169
```
9270

9371
5. **Access the application**
94-
- Open your browser to `http://localhost:8080/[example-name]`
72+
- Tomcat-based examples: `http://localhost:8080/[example-name]`
73+
- Helidon MP examples: `http://localhost:8080`
74+
- Frontend development: `http://localhost:4200` (when running `ng serve`)
9575

9676
## 📁 Project Structure
9777

@@ -127,18 +107,22 @@ examples/
127107
### For Backend Development
128108
1. Make changes to Java code in `src/main/java/`
129109
2. Run `mvn clean package` to build
130-
3. Use `mvn tomcat7:run` for development server
110+
3. Run development server:
111+
- **Tomcat-based examples**: `mvn tomcat7:run`
112+
- **Helidon MP examples**: `java -jar target/[app-name].jar`
131113

132114
### For Frontend Development
133115
1. Navigate to `ui.resources/`
134116
2. Run `ng serve` for development server
135117
3. Run `ng build --prod` for production build
136118

137119
### Full Stack Development
138-
1. Start MongoDB (if required)
139-
2. Run backend: `mvn tomcat7:run`
120+
1. Start MongoDB (if required for the example)
121+
2. Run backend:
122+
- **Tomcat-based**: `mvn tomcat7:run`
123+
- **Helidon MP**: `java -jar target/[app-name].jar`
140124
3. Run frontend: `cd ui.resources && ng serve`
141-
4. Access at `http://localhost:4200` (Angular) or `http://localhost:8080` (Java)
125+
4. Access at `http://localhost:4200` (Angular frontend) or `http://localhost:8080` (backend API)
142126

143127
## 🆘 Getting Help
144128

@@ -160,7 +144,9 @@ examples/
160144

161145
## 🎯 Next Steps
162146

163-
1. **Explore Examples**: Start with the Basic Authentication example
147+
1. **Explore Examples**:
148+
- Start with the **Basic Authentication** example for traditional Tomcat-based apps
149+
- Try the **Simple Blog** example for modern Helidon MP microservices
164150
2. **Customize**: Modify examples to fit your needs
165151
3. **Build**: Create your own JAQ Stack applications
166152
4. **Contribute**: Share improvements and new examples

0 commit comments

Comments
 (0)