# jobHunter
# Concept
- Extend a
Laravel Singletonapp to AWS infra - What's added:
- AWS CDK for AWS Infra
- MySQL -> AWS DynamoDB
- AWS CloudSearch for Searching
- Dockerize
- Containerized service from
AWS ECS Fargate - LineChatbot Integration
- NodeJS Lambda Function
- CircleCI Intergration
# Info
# jobHuntr.work (opens new window)
- Twitch Demo Replay (opens new window)
- mouWorks/jobHunter (opens new window)
- fork from
fishingboy/jobFinder
- fork from
# TeamMember
- Mou.Wang (Infra/DevOps/LineChatbot) @mouWorks
- David.Lou (Backend) @rurikaxx
- Patty (Design/Frontend) @smooncake
# Technical
# 3 layers of AWS CDK Stack
jobHunterInfraStack
- DynamoDB + Lambda Function + ApiGateway
VpcDBSTack
- Build Vpc and Desired DynamoDB
FargateStack
- AWS ECS Fargate
[NOTE] : AWS Vpc rebuild takes long times, so we separate to one single stack to save some times.
# 2 Development Pipelines
- LambdaPipeline
Usercommit codeCircleCIZip filesCircleCI w/AWSaws lambda update-function-codeSlackNotifyUser
- jobHunterPipeline (AWS ECS Fargate)
Usercommit codeCircleCIbuild dependency (composer install && npm i)CircleCICI : Run Unit TestsCircleCI w/DockerHubBuild Docker Image and Pushed to DockerHubCIrcleCIcreate TaskDefinition with new Docker image TagsCIrcleCI w/AWSaws ecs update-servicewith new TaskDefinitionSlackNotifyUser
# Alternative (AWS Lightsail)
- jobHunterPipeline
Usercommit codeCircleCIbuild dependency (composer install && npm i)CircleCICI : Run Unit TestsCircleCI w/DockerHubBuild Docker Image and Pushed to DockerHubVMdocker stop && docker rm${IMAGE}VMdocker pull${IMAGE_WITH_NEW_TAG}VMdocker run -d${IMAGE_WITH_NEW_TAG}SlackNotifyUser
# Slides

# ScreenShots
