An Intelligent Spring Boot Development Ecosystem β Official distribution website for the SpringForge IntelliJ IDEA plugin.
SpringForge is a comprehensive intelligent development platform powered by Machine Learning, RAG-based debugging, and architecture-aware code generation, featuring four core AI components for modern Spring Boot development.
- Overview
- Architecture
- Technology Stack
- Getting Started
- Configuration
- Project Structure
- Features
- Development
- Deployment
This repository contains the official website for SpringForge, a distribution platform that allows administrators to upload and manage IntelliJ IDEA plugin releases. The site features:
- Public Landing Page - Showcases the four SpringForge AI components
- Plugin Distribution - Download system for the latest plugin releases
- Admin Dashboard - Secure upload interface for managing plugin versions (up to 1GB)
- PostgreSQL Storage - Binary storage for plugin files with version tracking
The project consists of two main components:
- Framework: Next.js 15 (App Router)
- Styling: Tailwind CSS
- Port: 3000
- Features: Server-side rendering, optimized for SEO
- Framework: NestJS
- Database: PostgreSQL
- Port: 4000
- Features: RESTful API, file upload handling (up to 1GB), basic authentication
- Next.js 15 - React framework with App Router
- TypeScript - Type-safe JavaScript
- Tailwind CSS - Utility-first CSS framework
- React 19 - UI library
- NestJS - Progressive Node.js framework
- TypeScript - Type-safe development
- PostgreSQL - Relational database
- pg - PostgreSQL driver
- Multer - File upload middleware
- dotenv - Environment configuration
- Node.js 18+ (v22 recommended)
- npm or yarn
- PostgreSQL 12+
-
Clone the repository
git clone https://github.com/springforgeecosystem-prog/SpringForge-Website.git cd SpringForge-Website -
Install Backend Dependencies
cd Backend npm install -
Install Frontend Dependencies
cd ../Frontend npm install -
Set up PostgreSQL Database
CREATE DATABASE springforge_static_web;
-
Configure Environment Variables
See Configuration section below.
Backend:
cd Backend
npm run start:devServer will start on http://localhost:4000
Frontend:
cd Frontend
npm run devSite will be available at http://localhost:3000
Create Backend/.env:
# Admin Credentials
ADMIN_USERNAME=admin
ADMIN_PASSWORD=your_secure_password
# Server Configuration
PORT=4000
# PostgreSQL Database
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_DB=springforge_static_web
POSTGRES_USER=postgres
POSTGRES_PASSWORD=your_db_passwordCreate Frontend/.env:
# Backend API URL (server-side)
API_URL=http://localhost:4000
# Backend API URL (client-side)
NEXT_PUBLIC_API_URL=http://localhost:4000Note: NEXT_PUBLIC_API_URL is used for client-side uploads to bypass Next.js's 10MB proxy limit.
SpringForge-Website/
βββ Backend/
β βββ src/
β β βββ admin/ # Admin upload functionality
β β β βββ admin.controller.ts
β β β βββ admin.service.ts
β β β βββ admin.module.ts
β β β βββ basic-auth.guard.ts
β β βββ plugin/ # Plugin retrieval endpoints
β β β βββ plugin.controller.ts
β β β βββ plugin.service.ts
β β β βββ plugin.module.ts
β β βββ database/ # PostgreSQL integration
β β β βββ database.service.ts
β β β βββ database.module.ts
β β βββ app.module.ts
β β βββ main.ts
β βββ .env
β βββ package.json
β
βββ Frontend/
β βββ app/
β β βββ admin/ # Admin upload page
β β β βββ page.tsx
β β βββ page.tsx # Public landing page
β β βββ layout.tsx
β β βββ globals.css
β βββ public/
β β βββ logo.png
β βββ middleware.ts # Request handling
β βββ next.config.ts
β βββ .env
β βββ package.json
β
βββ README.md
- Landing Page - Showcases four SpringForge AI components
- Plugin Download - Latest version download system
- Version Information - Displays current release version and date
- Installation Guide - Step-by-step plugin installation instructions
- Secure Upload - Basic authentication protected
- Large File Support - Handles plugin files up to 1GB
- Version Management - Automatic version tracking
- File Validation - Accepts only .zip files
- Database Storage - Binary storage in PostgreSQL
-
ποΈ Architecture-Aware Code Generation
- Intelligent project scaffolding powered by ML and LLMs
- Analyzes existing structures (Layered, MVC, Clean)
- Dynamic Prompt Construction for structurally valid code
-
π RAG-Based Runtime Error Analysis
- AI-powered debugging without leaving IDE
-
75% precision in documentation retrieval
-
90% fix accuracy
-
π― AI-Driven Code Quality Assurance
- Dual-Engine AI Architecture
- Anti-Pattern Classifier
- Quality Score Regression (0β100)
-
π Intelligent CI/CD & Infrastructure Assistant
- Secure DevOps artifact generation
- Claude + MCP integration
- Multi-layer validation (Hadolint, KubeLinter)
cd Backend
npm run start:dev # Development with hot-reload
npm run build # Production build
npm run start:prod # Production startcd Frontend
npm run dev # Development server
npm run build # Production build
npm run start # Production serverThe backend automatically creates the required table on startup:
CREATE TABLE IF NOT EXISTS plugin_releases (
id SERIAL PRIMARY KEY,
version VARCHAR(50) NOT NULL,
original_name VARCHAR(255) NOT NULL,
file_data BYTEA NOT NULL,
upload_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
is_current BOOLEAN DEFAULT false
);- Set production environment variables
- Build the application:
npm run build - Start:
npm run start:prod - Ensure PostgreSQL is accessible
- Set production
API_URLandNEXT_PUBLIC_API_URL - Build:
npm run build - Start:
npm run start - Configure reverse proxy if needed
- File Upload Limit: Backend supports up to 1GB uploads
- Direct Backend Calls: Admin uploads bypass Next.js proxy to support large files
- CORS: Backend enables CORS for all origins (configure for production)
- Authentication: Uses HTTP Basic Auth (consider OAuth for production)
- Change default admin credentials in production
- Use HTTPS in production environments
- Configure CORS to specific origins
- Consider implementing rate limiting
- Use environment-specific secrets
- Regular security audits for dependencies
GET /api/plugin/info- Get current plugin informationGET /api/plugin/download- Download current plugin release
POST /api/admin/upload- Upload new plugin version (requires Basic Auth)
This is a research project (25-26J-451) at SLIIT. For contributions or inquiries, please contact the development team.
Β© 2026 SpringForge Β· Research Project 25-26J-451 Β· SLIIT