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.
- ποΈ 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
-
β‘ 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
- ποΈ Architecture
- π Project Structure
- π Getting Started
- π οΈ Tech Stack
- ποΈ AWS Services Integration
- π» Development Scripts
- π¨βπ» Author
- π License
- π Star History
- π Acknowledgments
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
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
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
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
- 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
Node.js >= 20.0.0
yarn >= 4.0.0
AWS CLI configured
# 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
# Deploy infrastructure
cd infrastructure
yarn cdk deploy
# Start development server
yarn dev
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
- 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
- Lambda: Serverless functions with edge capabilities
- ECS: Container orchestration with Fargate
- EC2: Infrastructure hosts (minimal usage)
- S3: Static assets and website hosting
- DynamoDB: NoSQL database with global tables
- EFS: Container storage when needed
- Cognito: User authentication and authorization
- Secrets Manager: Secure secrets storage and rotation
- KMS: Encryption key management
- IAM: Fine-grained access control
- CodeBuild: CI/CD build processes
- CodePipeline: Deployment automation
- CloudWatch: Monitoring and alerting
- X-Ray: Distributed tracing
pnpm run deploy:base
- Deploy base infrastructurepnpm run deploy:frontend
- Deploy frontend applicationpnpm run deploy:auth
- Deploy authentication servicepnpm run deploy:api
- Deploy API service
AWS-certified Solutions Architect, Developer, SysOps Administrator, and Machine Learning Engineer with expertise in cloud architecture and modern development practices. Connect with me on:
This project is licensed under the MIT License - see the LICENSE file for details.
- AWS Documentation and Best Practices
- AWS CDK Patterns Community
- Next.js Documentation
Built with React 18 RC + Next.js 14 by Bjorn Melin