🔥 Enterprise Account Management System - Modern Hybrid Architecture with Complete Package Ecosystem
A comprehensive enterprise account management system featuring a complete authentication system, OAuth 2.0 integration, comprehensive package ecosystem, modern hybrid architecture, and enterprise-ready monorepo design with enhanced capabilities.
🚀 Quick Start • 📋 What's New • 📊 Current Status • 🛠️ Tech Stack • 📦 Package Ecosystem • 📁 Architecture • 🤝 Contributing
Aether Account is a comprehensive enterprise account management system that provides a complete solution for user authentication, authorization, and account management. Built with a modern hybrid architecture combining Go backend and TypeScript frontend, it offers enterprise-grade features including OAuth 2.0, JWT authentication, and comprehensive user management capabilities.
- 🚀 Modern Hybrid Architecture - Go 1.25+ backend + TypeScript 5 frontend + Package Ecosystem
- 📦 Complete Package SDKs - CLI Tools, Go SDK, Node.js SDK for maximum integration
- 🔐 Complete Authentication System - JWT-based system with login/register forms and React context
- ⚡ High-Performance Backend - Go-based server with GORM + PostgreSQL integration
- 🎨 Modern Frontend - Next.js 16 + React 19.2.1 + shadcn/ui component library
- 🔗 OAuth 2.0 Integration - Complete authorization code flow with multiple providers
- 🏗️ Enterprise-Ready Design - Scalable, secure, and maintainable architecture
- 📚 Comprehensive Documentation - Package-specific docs and API references
- 🛠️ Developer-Friendly - Make commands, hot reload, TypeScript strict mode
- ✅ CLI Tools - Command-line interface for account management
- ✅ Go SDK Package - Native Go client library and CLI tools
- ✅ Node.js SDK Package - Universal TypeScript SDK for Node.js and browser
- ✅ GitHub Integration - GitHub App for workflow orchestration
- ✅ VSCode Extension - IDE integration for developers
- ✅ Package Documentation - Comprehensive docs for each package
- ✅ Authorization Code Flow - Complete OAuth 2.0 implementation
- ✅ Multiple Providers Support - GitHub, Google, and more
- ✅ Token Management - Secure access and refresh token handling
- ✅ OAuth Authorize Forms - Dedicated authorization pages
- ✅ Monorepo Structure - Modular design with pnpm workspaces
- ✅ Cross-Package Integration - Seamless interaction between packages
- ✅ Docker Deployment - Production-ready containerization for all packages
- ✅ Security Enhancements - Rate limiting, input validation, CORS
- ✅ Package-Specific READMEs - Detailed documentation for each component
- ✅ Architecture Overviews - Comprehensive system documentation
- ✅ Integration Guides - Step-by-step setup instructions
- ✅ API References - Complete API documentation
✅ Rapid Evolution: From basic account management to complete enterprise solution with OAuth integration.
- ✅ Complete Authentication System - JWT with login/register forms and React context
- ✅ OAuth 2.0 Authorization - Complete OAuth 2.0 flow with multiple providers
- ✅ Hybrid Monorepo Architecture - Go backend + TypeScript frontend workspaces
- ✅ Go Backend Server - High-performance Gin API with GORM + PostgreSQL
- ✅ Next.js 16 Frontend - Modern React 19.2.1 with shadcn/ui + Tailwind CSS v4
- ✅ Database Layer - GORM/Prisma with PostgreSQL and user models
- ✅ User Management - Complete CRUD operations for user accounts
- ✅ CLI Tools - Command-line interface for server management
- ✅ Go SDK Package - Native Go client library and CLI tools
- ✅ Node.js SDK Package - Universal TypeScript SDK with examples
- ✅ GitHub Integration - GitHub App for workflow orchestration
- ✅ VSCode Extension - IDE integration for developers
- ✅ Package Documentation - Comprehensive docs for all packages
- ✅ Authorization Code Flow - Complete OAuth 2.0 implementation
- ✅ Multiple Providers - GitHub, Google, and extensible provider system
- ✅ Token Management - Secure access and refresh token handling
- ✅ OAuth Authorize Pages - Dedicated authorization UI
- ✅ Development Environment - Hot reload, TypeScript strict mode, Go modules
- ✅ Docker Deployment - Production-ready containers for all packages
- ✅ Security Implementation - Rate limiting, validation, security headers
- ✅ Infrastructure as Code - Terraform, Kubernetes, Docker configurations
- User Management Dashboard - Complete CRUD interface for user administration
- Email Management - Email viewing, composing, and sending capabilities
- Contact Management - Address book and contact organization
- Calendar Integration - Event management and scheduling
- Security Enhancements - Advanced rate limiting, input validation, CORS
- API Documentation - Comprehensive API documentation and testing
- Testing Suite - Unit and integration tests across all packages
- Multi-Factor Authentication - TOTP and email-based 2FA
- Group Management - Organization and team-based access control
- Audit Logging - Comprehensive activity logging
- Webhooks - Event-based notifications for third-party integrations
- API Rate Limiting - Advanced rate limiting and quota management
- Mobile Application - React Native companion app
- Go 1.25.0 or higher (for backend)
- Node.js 18.0.0 or higher (for frontend)
- pnpm 9.0.0 or higher (recommended package manager)
- PostgreSQL 14.0 or higher (for database)
- Docker (optional, for container deployment)
- Make (for command shortcuts - included with most systems)
-
Clone the repository
git clone https://github.com/skygenesisenterprise/aether-account.git cd aether-account -
Install dependencies
pnpm install
-
Environment setup
cp .env.example .env # Configure your environment variables -
Database initialization
pnpm db:generate pnpm db:migrate
-
Start development servers
pnpm dev
Once running, you can access:
- Frontend: http://localhost:3000
- API Server: http://localhost:8080
- Health Check: http://localhost:8080/health
- Database Studio: http://localhost:5555
# 🚀 Quick Start & Development
pnpm dev # Start all services (frontend + backend)
pnpm dev:frontend # Frontend only (port 3000)
pnpm dev:backend # Backend only (port 8080)
# 📦 Package Development (NEW)
pnpm --filter cli dev # Start CLI development
pnpm build # Build all packages
# 🔧 Go Backend Commands
cd server && go run main.go # Start Go server directly
cd server && go build # Build Go binary
cd server && go test # Run Go tests
# 🏗️ Building & Production
pnpm build # Build all packages
pnpm build:frontend # Frontend production build
pnpm build:backend # Backend production build
pnpm start # Start production servers
# 🗄️ Database
pnpm db:studio # Open Prisma Studio
pnpm db:migrate # Run migrations
pnpm db:generate # Generate Prisma client
# 🔧 Code Quality & Testing
pnpm lint # Lint all packages
pnpm lint:fix # Fix linting issues
pnpm typecheck # Type check all packages
pnpm test # Run all tests
# 🛠️ Utilities
pnpm clean # Clean build artifacts
pnpm reset # Reset project to clean stateNext.js 16 + React 19.2.1 + TypeScript 5
├── 🎨 Tailwind CSS v4 + shadcn/ui (Styling & Components)
├── 🔐 JWT Authentication (Complete Implementation)
├── 🔗 OAuth 2.0 Integration (Authorization Code Flow)
├── 🛣️ Next.js App Router (Routing)
├── 📝 TypeScript Strict Mode (Type Safety)
├── 🔄 React Context (State Management)
└── 🔧 ESLint + Prettier (Code Quality)
Go 1.25+ + Gin Framework
├── 🗄️ GORM + PostgreSQL (Database Layer)
├── 🔐 JWT Authentication (Complete Implementation)
├── 🔗 OAuth 2.0 Provider (Authorization Server)
├── 🛡️ Middleware (Security, CORS, Logging)
├── 🌐 HTTP Router (Gin Router)
├── 📦 JSON Serialization (Native Go)
└── 📊 Structured Logging (Zerolog/Pino)
Multi-Language Package SDKs
├── 🖥️ CLI Tools (TypeScript)
│ ├── User Management
│ ├── Account Operations
│ └── Server Management
├── 🐹 Go SDK (Native Go)
│ ├── High-Performance Client
│ ├── CLI Tools
│ └── Go Modules Support
└── 📦 Node.js SDK (TypeScript)
├── Universal Client (Node.js + Browser)
├── Authentication Handling
└── Comprehensive Examples
PostgreSQL + GORM/Prisma
├── 🏗️ Schema Management (Auto-migration)
├── 🔍 Query Builder (Type-Safe Queries)
├── 🔄 Connection Pooling (Performance)
├── 👤 User Models (Complete Implementation)
├── 📧 Email Models (Email management)
├── 📇 Contact Models (Contact management)
├── 📅 Calendar Models (Event management)
└── 📈 Seed Scripts (Development Data)
Make + pnpm Workspaces + Go Modules + Package Ecosystem
├── 📦 app/ (Next.js Frontend - TypeScript)
├── ⚙️ server/ (Gin API - Go)
├── 🛠️ package/cli/ (CLI Tools - TypeScript)
├── 📦 package/node/ (Node.js SDK - TypeScript)
├── 📦 package/vscode/ (VSCode Extension - TypeScript)
├── 🗂️ package/extension/ (Browser Extension - TypeScript)
├── 📚 prisma/ (Database Schema - Prisma)
├── 🐳 docker/ (Container Configuration)
├── ☸️ infrastructure/ (Kubernetes, Terraform)
└── 🔧 tools/ (Development Utilities - TypeScript)
The project has evolved to include a comprehensive package ecosystem:
package/
├── cli/ # 🖥️ Command Line Interface
│ ├── User Management # Create, update, delete users
│ ├── Account Operations # Account-related commands
│ └── Server Management # Server control commands
├── node/ # 📦 Node.js/TypeScript SDK
│ ├── Universal Client # Node.js + Browser support
│ ├── Authentication # JWT and OAuth handling
│ └── Usage Examples # Comprehensive examples
├── vscode/ # 🧑💻 VSCode Extension
│ ├── IDE Integration # Account management in VSCode
│ └── Syntax Highlighting # Custom language support
├── github/ # 🐙 GitHub Integration
│ └── Workflow Orchestration # GitHub Actions integration
└── extension/ # 🌐 Browser Extension
└── Account Management # Browser-based account access
Purpose: Command-line interface for account management and server operations.
Key Features:
- ✅ User management commands
- ✅ Account operations
- ✅ Server management
- ✅ Database migrations
- ✅ Docker container management
- ✅ Development server control
Usage:
pnpm cli --help
pnpm cli user:list
pnpm cli user:create --email user@example.comPurpose: Native Go SDK for Aether Account integration.
Key Features:
- ✅ Native Go client library
- ✅ Type-safe Go structs
- ✅ Go modules support
- ✅ High-performance HTTP client
Usage:
import "github.com/skygenesisenterprise/aether-account/package/golang"
client := golang.NewClient("http://localhost:8080")
user, err := client.Users.Get("user-id")Purpose: Universal TypeScript SDK for Node.js and browser environments.
Key Features:
- ✅ Universal client (Node.js + Browser)
- ✅ TypeScript strict mode
- ✅ Authentication handling
- ✅ OAuth 2.0 support
- ✅ Comprehensive examples
Usage:
import { AetherAccountClient } from "@aether-account/node";
const client = new AetherAccountClient({
baseURL: "http://localhost:8080",
apiKey: "your-api-key",
});
const user = await client.users.get("user-id");aether-account/
├── app/ # Next.js 16 Frontend Application (TypeScript)
│ ├── app/
│ │ ├── (auth)/ # Authentication pages
│ │ │ ├── login/ # Login page
│ │ │ ├── register/ # Registration page
│ │ │ ├── forgot/ # Password recovery
│ │ │ ├── logout/ # Logout page
│ │ │ └── oauth/ # OAuth authorization
│ │ ├── (platform)/ # Platform pages
│ │ │ ├── home/ # Dashboard home
│ │ │ ├── personal/ # Personal settings
│ │ │ ├── security/ # Security settings
│ │ │ ├── password/ # Password management
│ │ │ ├── contacts/ # Contact management
│ │ │ ├── privacy/ # Privacy settings
│ │ │ ├── wallet/ # Wallet management
│ │ │ └── third-party/# Third-party integrations
│ │ └── layout.tsx # Root layout
│ ├── components/ # React components with shadcn/ui
│ │ ├── ui/ # UI component library
│ │ ├── login-form.tsx # Authentication forms
│ │ ├── oauth-options.tsx # OAuth providers
│ │ └── oauth-authorize-form.tsx # OAuth authorize
│ ├── styles/ # Tailwind CSS styling
│ └── package.json # Frontend dependencies
├── server/ # Go Backend Server
│ ├── src/
│ │ ├── config/ # Database and server configuration
│ │ ├── controllers/ # HTTP request handlers
│ │ ├── middleware/ # Gin middleware
│ │ │ ├── auth.go # Authentication middleware
│ │ │ ├── cors.go # CORS handling
│ │ │ ├── security.go # Security headers
│ │ │ ├── ratelimit.go # Rate limiting
│ │ │ └── logging.go # Request logging
│ │ ├── models/ # Data models
│ │ │ ├── user.go # User model
│ │ │ ├── email.go # Email model
│ │ │ ├── contact.go # Contact model
│ │ │ └── calendar.go # Calendar model
│ │ ├── routes/ # API route definitions
│ │ ├── services/ # Business logic
│ │ │ ├── jwt.go # JWT service
│ │ │ └── session.go # Session management
│ │ └── utils/ # Utility functions
│ ├── main.go # Main server entry point
│ ├── go.mod # Go modules file
│ └── go.sum # Go modules checksum
├── package/ # 📦 Package Ecosystem
│ ├── cli/ # CLI Tools Package
│ ├── node/ # Node.js SDK Package
│ ├── vscode/ # VSCode Extension
│ ├── github/ # GitHub Integration
│ └── extension/ # Browser Extension
├── prisma/ # Database Schema & Migrations
│ ├── schema.prisma # Database schema definition
│ └── config.ts # Prisma configuration
├── infrastructure/ # Infrastructure as Code
│ ├── docker/ # Docker configurations
│ ├── k8s/ # Kubernetes configurations
│ ├── terraform/ # Terraform modules
│ ├── traefik/ # Traefik reverse proxy
│ ├── redis/ # Redis cache
│ └── monitoring/ # Monitoring stack
├── docker/ # Docker Configuration
├── tools/ # Development Utilities
├── tests/ # Test suites
├── scripts/ # Build and deployment scripts
└── .storybook/ # Storybook Configuration
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Next.js App │ │ Gin API │ │ PostgreSQL │
│ (Frontend) │◄──►│ (Backend) │◄──►│ (Database) │
│ Port 3001 │ │ Port 8080 │ │ Port 5432 │
│ TypeScript │ │ Go │ │ │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│ │ │
▼ ▼ ▼
JWT Tokens API Endpoints User/Email/Contact Data
React Context Authentication GORM ORM
shadcn/ui Components Business Logic Auto-migrations
│ │
▼ ▼
┌─────────────────┐ ┌──────────────────┐
│ OAuth 2.0 │ │ Package Ecosystem│
│ Authorization │ │ (Multi-Language) │
│ Flow │ │ CLI Tools │
│ Providers │ │ Go SDK │
│ Token Mgmt │ │ Node.js SDK │
└─────────────────┘ └──────────────────┘
- ✅ Hybrid Monorepo Setup - Go backend + TypeScript frontend workspaces
- ✅ Authentication System - Complete JWT implementation with forms
- ✅ OAuth 2.0 Integration - Complete authorization code flow
- ✅ Frontend Framework - Next.js 16 + React 19.2.1 + shadcn/ui
- ✅ Go Backend API - Gin with authentication endpoints
- ✅ Database Layer - GORM/Prisma with PostgreSQL and user models
- ✅ CLI Tools - Complete command-line interface
- ✅ Development Environment - TypeScript strict mode, Go modules, hot reload
- ✅ Package Ecosystem Creation - CLI Tools, Go SDK, Node.js SDK
- ✅ VSCode Extension - IDE integration for developers
- ✅ GitHub Integration - Workflow orchestration
- ✅ Multi-Language SDKs - Native Go and TypeScript SDKs
- ✅ Enhanced Documentation - Package-specific docs and architecture guides
- ✅ Docker Deployment - Production-ready containers for all packages
- ✅ Security Implementation - Rate limiting, validation, security headers
- 🔄 User Management Dashboard - Complete CRUD interface
- 🔄 Email Management - Email viewing, composing, sending
- 🔄 Contact Management - Address book and organization
- 🔄 Calendar Integration - Event management and scheduling
- 🔄 Security Enhancements - MFA, advanced rate limiting
- 📋 API Documentation - Comprehensive API docs
- 📋 Testing Suite - Unit and integration tests
- 📋 Multi-Factor Authentication - TOTP and email-based 2FA
- 📋 Group Management - Organization and team-based access control
- 📋 Audit Logging - Comprehensive activity logging
- 📋 Webhooks - Event-based notifications
- 📋 API Rate Limiting - Advanced quota management
- 📋 Mobile Application - React Native companion app
- 📋 Desktop Application - Electron-based desktop client
- 📋 Advanced Security - End-to-end encryption
- 📋 High Availability - Clustering and failover
# New developer setup
pnpm install
cp .env.example .env
pnpm db:generate
pnpm db:migrate
pnpm dev
# Daily development
pnpm dev # Start working (Go + TypeScript)
pnpm lint:fix # Fix code issues
pnpm typecheck # Verify types
pnpm test # Run tests
# Go-specific development
cd server
go run main.go # Start Go server
go test ./... # Run Go tests
go fmt ./... # Format Go code
go mod tidy # Clean dependencies
# TypeScript-specific development
pnpm dev:frontend # Frontend only
pnpm lint # Check code quality
pnpm typecheck # Verify types
# Database changes
pnpm db:migrate # Apply migrations
pnpm db:studio # Browse database
# Production deployment
pnpm build # Build everything
make docker-build # Create Docker image
make docker-run # Deploy- Monorepo Workflow - Use pnpm workspaces for all operations
- Go Best Practices - Follow Go conventions for backend code
- TypeScript Strict Mode - All frontend code must pass strict type checking
- Package Standards - Follow package-specific guidelines and conventions
- Conventional Commits - Use standardized commit messages
- Component Structure - Follow established patterns for React components
- API Design - RESTful endpoints with proper HTTP methods
- Error Handling - Comprehensive error handling and logging
- Security First - Validate all inputs and implement proper authentication
The authentication system is fully implemented with Go backend and TypeScript frontend:
- JWT Tokens - Secure token-based authentication with refresh mechanism
- Login/Register Forms - Complete user authentication flow with validation
- Auth Context - Global authentication state management in React
- Protected Routes - Route-based authentication guards
- Go API Endpoints - Complete authentication API with Gin framework
- Password Security - bcrypt hashing for secure password storage
- Session Management - LocalStorage-based session persistence
1. User initiates OAuth flow → Redirect to authorization server
2. User authorizes application → Authorization code generated
3. Application exchanges code → Access token received
4. Access token used → Protected resources accessed
5. Refresh token used → Token renewal when expired
- Password Hashing - bcrypt with secure salt rounds
- JWT Validation - Signature verification and expiration checks
- CORS Protection - Cross-origin resource sharing controls
- Rate Limiting - Request throttling to prevent abuse
- Security Headers - XSS protection, content security policy
- Input Validation - Request validation and sanitization
We're looking for contributors to help build this comprehensive enterprise account management system! Whether you're experienced with Go, TypeScript, OAuth, web development, or package development, there's a place for you.
- Fork the repository and create a feature branch
- Check the issues for tasks that need help
- Join discussions about architecture and features
- Start small - Documentation, tests, or minor features
- Follow our code standards and commit guidelines
- Go Backend Development - API endpoints, business logic, security
- TypeScript Frontend Development - React components, UI/UX design, dashboard
- OAuth Development - OAuth 2.0 provider implementation
- Package Development - CLI enhancements, Go SDK features, Node.js SDK improvements
- Database Design - Schema development, migrations, optimization
- Security Specialists - Authentication, encryption, filtering
- DevOps Engineers - Docker, deployment, CI/CD for hybrid stack
- IDE Extension Development - VSCode extension, browser extensions
- CLI Development - Command-line tools and utilities
- Documentation - API docs, user guides, tutorials, package docs
- Choose an area - Core server, frontend, or specific package
- Read package-specific docs - Understand package conventions
- Create a branch with a descriptive name
- Implement your changes following our guidelines
- Test thoroughly in all relevant environments
- Submit a pull request with clear description and testing
- Address feedback from maintainers and community
- 📖 Documentation - Comprehensive guides and API docs
- 📦 Package Documentation - Package-specific guides
- 🐛 GitHub Issues - Bug reports and feature requests
- 💡 GitHub Discussions - General questions and ideas
- 📧 Email - developer@skygenesisenterprise.com
When reporting bugs, please include:
- Clear description of the problem
- Steps to reproduce
- Environment information (Go version, Node.js version, OS, etc.)
- Error logs or screenshots
- Expected vs actual behavior
- Package-specific information (if applicable)
| Component | Status | Technology | Evolution | Notes |
|---|---|---|---|---|
| Hybrid Architecture | ✅ Working | Go + TypeScript | Enhanced | Monorepo with package ecosystem |
| Authentication System | ✅ Working | JWT (Go/TS) | Complete | Full implementation with forms |
| OAuth 2.0 | ✅ Working | OAuth 2.0 (Go/TS) | Complete | Authorization code flow |
| Go Backend API | ✅ Working | Gin + GORM | Enhanced | High-performance with PostgreSQL |
| Frontend Framework | ✅ Working | Next.js 16 + React 19.2.1 | Enhanced | shadcn/ui + Tailwind CSS v4 |
| Package Ecosystem | ✅ Working | Multi-Language | NEW | CLI + Go SDK + Node.js SDK |
| CLI Tools | ✅ Working | TypeScript | NEW | Command-line interface |
| Go SDK | ✅ Working | Native Go | NEW | High-performance client library |
| Node.js SDK | ✅ Working | TypeScript | NEW | Universal client with examples |
| VSCode Extension | ✅ Working | TypeScript | NEW | IDE integration |
| UI Component Library | ✅ Working | shadcn/ui + Tailwind CSS | Enhanced | Complete component set |
| Database Layer | ✅ Working | GORM + PostgreSQL | Enhanced | Auto-migrations + user models |
| Docker Deployment | ✅ Working | Multi-Stage | Enhanced | All packages containerized |
| User Management | 🔄 In Progress | Go/TS | Enhanced | Dashboard interface |
| Email Management | 🔄 In Progress | Go/TS | Enhanced | Email viewing and sending |
| Contact Management | 📋 Planned | Go/TS | Planned | Address book functionality |
| Calendar Integration | 📋 Planned | Go/TS | Planned | Event management |
| Testing Suite | 📋 Planned | Go/TS | Planned | Unit and integration tests |
Development led by Sky Genesis Enterprise
We're looking for sponsors and partners to help accelerate development of this open-source enterprise account management system.
This project is licensed under the MIT License - see the LICENSE file for details.
MIT License
Copyright (c) 2025 Sky Genesis Enterprise
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
- Sky Genesis Enterprise - Project leadership and evolution
- Go Community - High-performance programming language and ecosystem
- Gin Framework - Lightweight HTTP web framework
- GORM Team - Modern Go database library
- Next.js Team - Excellent React framework
- React Team - Modern UI library
- shadcn/ui - Beautiful component library
- pnpm - Fast, disk space efficient package manager
- Make - Universal build automation and command interface
- Docker Team - Container platform and tools
- PostgreSQL Community - Powerful open-source database
- Open Source Community - Tools, libraries, and inspiration
⭐ Star This Repo • 🐛 Report Issues • 💡 Start a Discussion
🔧 Modern Enterprise Account Management System with OAuth 2.0 Integration!
Made with ❤️ by the Sky Genesis Enterprise team
Building an enterprise account management system with complete authentication, OAuth 2.0, and package ecosystem