Skip to content

Cloud-native portfolio platform powering bjornmelin.io. Demonstrates AWS solutions architecture through microservices, serverless APIs, and infrastructure as code. Built with Next.js, AWS CDK, and modern DevOps practices.

Notifications You must be signed in to change notification settings

BjornMelin/bjornmelin-platform-io

Repository files navigation

πŸ—οΈ bjornmelin-platform-io

Cloud-native portfolio platform powering bjornmelin.io. Demonstrates AWS solutions architecture through serverless APIs and infrastructure as code. Built with React 18 RC, Next.js 14, AWS CDK, and modern DevOps practices.

MIT License AWS SAA AWS DVA AWS SysOps AWS ML AWS AIF AWS CCP React Next.js GitHub LinkedIn Coursera Medium

🌟 Features

Core Platform Features

  • πŸ—οΈ Cloud Native Architecture: Production-grade AWS infrastructure with CDK
  • πŸ” Enterprise Security: Zero-trust architecture with AWS Cognito
  • πŸš€ CI/CD Pipeline: Automated deployments with GitHub Actions
  • πŸ“Š Observability: Comprehensive monitoring and logging
  • πŸ”„ Multi-Environment: Development, staging, and production
  • πŸ›‘οΈ Infrastructure as Code: Complete AWS CDK implementation
  • πŸ“± Modern Frontend: Next.js with Tailwind CSS
  • 🌐 Global Delivery: CloudFront CDN integration

Modern Tech Features

  • ⚑ React 18 RC Integration

    • Document Metadata API
    • Asset Loading API
    • Progressive Loading
    • Optimization Compiler
  • πŸš€ Next.js 14 App Router

    • Server Components
    • Partial Prerendering
    • Parallel Routes
    • Edge Runtime
  • πŸ”„ Full-Stack Type Safety

    • End-to-end typesafe APIs with tRPC
    • Runtime validation
    • Strict TypeScript
    • Comprehensive error handling
  • ⚑ Performance First

    • Edge deployment
    • Streaming SSR
    • Smart bundling
    • Optimal caching

πŸ“š Quick Links

πŸ›οΈ Architecture

System Architecture

graph TB
    subgraph "Global Edge Network"
        CF[CloudFront Distribution]
        WAF[AWS WAF]
    end

    subgraph "Frontend"
        S3[S3 Bucket]
        CF --> S3
        WAF --> CF
    end

    subgraph "Authentication"
        COGNITO[Cognito User Pools]
        SECRETS1[Secrets Manager]
    end

    subgraph "API Layer"
        APIGW[API Gateway]
        LAMBDA[Lambda Functions]
        SECRETS2[Secrets Manager]
    end

    subgraph "Data Layer"
        DYNAMODB[DynamoDB Tables]
        SECRETS3[Secrets Manager]
    end

    CF --> APIGW
    APIGW --> LAMBDA
    LAMBDA --> DYNAMODB
    LAMBDA --> SECRETS2
    COGNITO --> SECRETS1
    LAMBDA --> SECRETS3
Loading

Network Architecture

graph LR
    subgraph "VPC"
        subgraph "Public Subnets"
            ALB[Application Load Balancer]
        end

        subgraph "Private Subnets"
            ECS[ECS Services]
            LAMBDA[Lambda Functions]
        end

        subgraph "Isolated Subnets"
            DB[DynamoDB Endpoint]
        end
    end

    INTERNET[Internet] --> ALB
    ALB --> ECS
    ECS --> DB
    LAMBDA --> DB
Loading

Secrets Access Pattern

sequenceDiagram
    participant App as Application
    participant SM as Secrets Manager
    participant KMS as KMS
    participant IAM as IAM

    App->>IAM: Request Access
    IAM-->>App: Grant Token
    App->>SM: GetSecretValue
    SM->>KMS: Decrypt
    KMS-->>SM: Decrypted Value
    SM-->>App: Secret Value
Loading

πŸ“ Project Structure

bjornmelin-platform-io/
β”œβ”€β”€ .github/                # GitHub Actions workflows
β”‚   └── workflows/
β”œβ”€β”€ infrastructure/         # CDK infrastructure code
β”‚   β”œβ”€β”€ bin/               # CDK app entry point
β”‚   └── lib/               # CDK stacks and constructs
β”œβ”€β”€ src/                   # Application source code
β”‚   β”œβ”€β”€ app/               # Next.js 15 App Router
β”‚   β”‚   β”œβ”€β”€ fonts/         # Local font files
β”‚   β”‚   └── globals.css    # Global styles
β”‚   β”œβ”€β”€ components/        # React components
β”‚   └── lib/               # Shared utilities
β”œβ”€β”€ public/                # Static assets
└── docs/                  # Documentation

Core Components

  • Frontend: Next.js 15 application with App Router
  • Infrastructure: AWS CDK for cloud resource management
  • CI/CD: GitHub Actions for automated deployments
  • CDN: CloudFront with global edge locations
  • Monitoring: CloudWatch with custom dashboards

πŸš€ Getting Started

Prerequisites

Node.js >= 20.0.0
yarn >= 4.0.0
AWS CLI configured

Initial Setup

# Clone repository
git clone https://github.com/bjornmelin/bjornmelin-platform-io.git
cd bjornmelin-platform-io

# Install dependencies
yarn install

# Configure AWS credentials
aws configure

# Configure environment
cp .env.example .env.local

Infrastructure Deployment

# Deploy infrastructure
cd infrastructure
yarn cdk deploy

Local Development

# Start development server
yarn dev

πŸ› οΈ Tech Stack

Frontend:
  Core:
    - React 19 RC
    - Next.js 15
    - TypeScript 5.4

  UI:
    - Tailwind CSS
    - shadcn/ui
    - Framer Motion

Infrastructure:
  Core:
    - AWS CDK
    - CloudFront
    - Lambda Edge
    - S3

Development:
  Tools:
    - yarn
    - ESLint
    - Prettier
    - TypeScript

πŸ—οΈ AWS Services Integration

Core Services

  • CloudFront: Global content delivery with edge computing
  • Route53: DNS management and routing policies
  • WAF: Web application firewall and security rules
  • ACM: Certificate management and SSL/TLS

Compute Services

  • Lambda: Serverless functions with edge capabilities
  • ECS: Container orchestration with Fargate
  • EC2: Infrastructure hosts (minimal usage)

Storage Services

  • S3: Static assets and website hosting
  • DynamoDB: NoSQL database with global tables
  • EFS: Container storage when needed

Security Services

  • Cognito: User authentication and authorization
  • Secrets Manager: Secure secrets storage and rotation
  • KMS: Encryption key management
  • IAM: Fine-grained access control

Developer Tools

  • CodeBuild: CI/CD build processes
  • CodePipeline: Deployment automation
  • CloudWatch: Monitoring and alerting
  • X-Ray: Distributed tracing

πŸ’» Development Scripts

  • pnpm run deploy:base - Deploy base infrastructure
  • pnpm run deploy:frontend - Deploy frontend application
  • pnpm run deploy:auth - Deploy authentication service
  • pnpm run deploy:api - Deploy API service

πŸ‘¨β€πŸ’» Author

Bjorn Melin

AWS Certified Solutions Architect AWS Certified Developer AWS Certified SysOps Administrator AWS Certified Machine Learning Engineer AWS Certified AI Practitioner AWS Certified Cloud Practitioner

AWS-certified Solutions Architect, Developer, SysOps Administrator, and Machine Learning Engineer with expertise in cloud architecture and modern development practices. Connect with me on:

πŸ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

🌟 Star History

Star History Chart

πŸ™ Acknowledgments

  • AWS Documentation and Best Practices
  • AWS CDK Patterns Community
  • Next.js Documentation

Built with React 18 RC + Next.js 14 by Bjorn Melin

About

Cloud-native portfolio platform powering bjornmelin.io. Demonstrates AWS solutions architecture through microservices, serverless APIs, and infrastructure as code. Built with Next.js, AWS CDK, and modern DevOps practices.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published