Skip to content

ICOSYS Documentation

Türkçe

ICOSYS, sıfır-boilerplate, properties-driven Dynamic CRUD motoru üzerine kurulu bir enterprise Java platformudur. Bu dokümantasyon platformun mimarisini, kurallarını ve geliştirici rehberlerini içerir.

What is ICOSYS?

ICOSYS is a zero-boilerplate enterprise platform built on a Dynamic CRUD engine. It provides a unified architecture for building business modules (BPM, DMS, etc.) with a React SPA frontend and multiple Spring Boot microservices.

┌─────────────────────────────────┐
│       React SPA (Vite)          │  Port 5173
├──────────┬──────────┬───────────┤
│  ICGLB   │   BPM    │   DMS    │  Ports 8010 / 8020 / 8030
├──────────┴──────────┴───────────┤
│          MySQL 8                │  Per-module schema
└─────────────────────────────────┘

Quick Navigation

:material-rocket-launch: Getting Started

New to the project? Start here.

:material-sitemap: Architecture

Understand how the system is designed.

  • Overview — Services, ports, layers, and cross-cutting concerns
  • Tech Stack — All frameworks, libraries, and versions
  • Dependencies — Full dependency matrix (backend + frontend)
  • Security — Authentication, authorization, rate limiting
  • Project Structure — Repository layout and module organization
  • Deployment — Environment configuration and deployment

:material-cog: Framework

How the CRUD engine and config-driven system works.

:material-package-variant: Modules

Business domain documentation.

  • BPM — Business Partner Management (partners, branches, contracts, accruals)
  • DMS — Document Management (upload, download, sharing, metadata)
  • ICM Account — Account and user management

:material-api: API

REST API reference and integration.

  • REST API — Endpoint patterns, request/response formats
  • Authentication — JWT flow, API keys, session management
  • Error Codes — IC-* error code registry and handling

:material-check-decagram: Standards

Coding rules that every contributor must follow.

:material-book-open-variant: Guides

Step-by-step how-to guides.

  • New Module — Scaffold a new backend module from scratch
  • New Entity — Add an entity to an existing module
  • Deployment — Deploy to test/production environments

Tech at a Glance

Layer Stack
Frontend React 19, TypeScript 5.9, Vite 7, Tailwind CSS 4, Zustand 5, TanStack Table
Backend Spring Boot 3.5, Java 21, Hibernate 6, MySQL 8
Security JWT (JJWT 0.12), Bucket4j rate limiting, Spring Security
Quality SonarQube, ESLint, Vitest, GitHub Actions CI

Services

Service Port Purpose
ICGLB 8010 Core platform — auth, users, accounts, config
BPM 8020 Business Partner Management
DMS 8030 Document Management
React SPA 5173 Frontend (dev)