Bickup is a job posting and fulfilment platform where users posts job requests to be fulfilled by service providers.
We use Bickup as an example of one such service which provides bicycles transportation services. However, this can be easily generalised to serve other kinds of services.
- User submit job requests with the invocation of Submit Job Lambda
- Lambda writes a record into Dynamo Table and triggers a stream event
- Job alerts new job into telegram chat where all drivers are in
- Jobs stream lambda gets called by Dynamo Table’s stream event source
- Lambda gets bot token from Secrets Manager in order to send messages
- Driver views details of job and accepts job (requires provider login)
- Drivers required to register and login on Cognito Hosted UI
- Cognito redirects and issues token
- Accept job API is secured by APIG Cognito Authorizer (requires token)
- Requester contact information revealed
- Arrangement occur outside of platform
- Driver marks job as completed
NodeJs running on Lambdas
AWS CDK APIG, Lambdas, Cognito User Pool, DyanmoDB and streams. S3, Secrets Manager and KMS, APIG cognito authorizer
Gatsby frontend lives in the root dir of project. CDK is found in serverless/cdk
npm run develop in root dir of project
cd into serverless/cdk and run cdk deploy
Generate build for frontend
- Run npm run build in root dir of project
Generate build CDK in Typescript (Deploys build from frontend + Backend lambdas + Changes in infra if any)
- cd into serverless/cdk
- npm run deploy:dev
- Frontend Stack deploys generated build from frontend into S3
- Backend Stack deploys all other AWS resources (refer to archi above)
Project automated deployment is ran through Gitlab CI in gitlab.com (refer to gitlab-ci.yml file) and not through Github Actions. The repo in Github is plainly for viewing.
Bickup Web App
Submit Jobs here!
Telegram Job Chat
Join the telegram chat as a “driver” to receive alerts on Job Postings submitted from the Web App!
- Change job status reject/complete job
- View all job listings for logged in drivers