π₯ 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