Overview - solargis/cdk-workshop GitHub Wiki
CDK Fullstack Workshop
This workshop will guide you step by step to create a fullstack javascript map application in the AWS cloud.
Cloud resources and deployment into the cloud will be fully managed by infrastructure as code: AWS Cloud Development Kit
Online application DEMO
Solution
Cloud resources used
- AWS S3 buckets - File storage
- AWS DynamoDB table - Document database
- AWS Lambda functions - Backend code
- AWS Lambda layer - Binary dependencies
- AWS API Gateway - API integration
- AWS CloudFront - Global content delivery network (CDN)
- AWS CloudFormation - Management of cloud infrastructure
Technologies used
- Node.js - JavaScript runtime for backend and CDK
- TypeScript - Typed superset of JavaScript
- AWS CDK - Cloud development kit
- AWS SDK - AWS software tools
- Angular - Web framework
- Leaflet - Interactive maps
- sharp - Image manipulation library
- webpack - code builder
- serverless - used for local testing only
Workshop steps
Start with the Project setup and follow with workshop steps.
- Project setup
- Step 1: Simple web
- Step 2: Simple API
- Step 3: Integrate Simple API into Simple web
- Step 4: Simple Angular app
- Step 5: Pin API
- Step 6: Pin Angular app
- Step 7: Pin Thumbnails
- Step 8: Local development environment
- Step 9: CloudFront CDN
- Step X: Cleanup
Some steps contains provided source code as zip archive. Extract the zip into the root project directory.
Default behavior in Windows is that existing files are not replaced when extracting archive, so better will be to extract the zip into different folder and move files to project directory.
Working with Git branches
Only Project setup is required one-time step.
All other steps can be fast-forwarded by checking out Git branch, e.g:
git checkout step-3/webindex
npm install
And follow step instructions.
NOTE: if you have uncommited work in project repository it is not possible to checkout new Git branch, you have 3 options:
git stash
- move all local changes into a 'drawer', more info heregit commit -a -m "my change"
- commit all changes to local branchgit reset --hard HEAD
- remove all local changes
Contacts
Feel free to contact us with any questions or difficulties with workshop or used technologies:
michal.moravciksolargis.com
milan.skuhrasolargis.com
tomas.trungelsolargis.com
branislav.ciefsolargis.com