AppTrack is retired. Things broke with domain/lambdas after ~1 year, and never got around to fixing this. https://simplify.jobs/ seems to be doing good things around this same area, and is partnered with PittCSC
Directory Structure (city: service)
sf/→ Golang REST APImontreal/→ AWS Lambdatokyo/→ React/Typescript Web Appistanbul→ Database Read Script (JS)
- Make sure to have Go installed: Golang Website (Version 1.16+)
- Navigate to
sfdirectory:cd sf - Put .env file in here (be sure to be in
/sf) (.env file posted in slack) - Run
go install github.com/cosmtrek/air@latestto install air (Go dev. server) - Run
go mod tidy - Run
airto spin up development server- Note: if this doesn't work, there are 2 options:
- Look up error on Stack Overflow to try to fix so that dev server can run
- Just run
go run main.go, which will execute and run our Go server, but doesn't have hot reload. If you're not working on the API, this should be sufficient since hot reload won't be very important
- Server should be running at https://localhost:8080/
- Navigate to
tokyodirectory:cd tokyo - Run
npm installto install dependencies - Get the following extensions:
- TailwindCSS Intellisense
- PostCSS Language Support
- (TypeScript support too maybe?)
- Run
npm run devto boot dev server - App should be running at https://localhost:3000
lambda_handleris the entry point for the lambda (event and context don't matter for our purposes)- Copy the .env file into the montreal directory from slack
- To test
- run
cd montrealto enter the directory - add
lambda_handler()to the bottom of the file - run
python3 lambda_function.py
- run
- To add dependencies
- run
cd montrealto enter the directory - run
pip install <dependency>- ex.
pip install requests
- ex.
- run
pip install --target ./package <dependency> - run
cd package - run
zip -r ../my-deployment-package.zip . - When the code is pushed and auto-deployed, the zip file will be used by AWS
- run
- When pushed to main, our github action will take care of auto deploying the new code to AWS
- It has its own credentials and everything, so there should be no need to visit AWS
- This is the guide I roughly followed to automate the deployment
- If you need to check something on AWS or have questions about the lambda, contact me
- slack: @nabil
- email: nabilbaugher@gmail.com