A few years ago, a certain midwestern fast-food restaurant chain discontinued its mobile app. I used their app for one specific reason: to check the Flavor Of the Day (FOD). While their website still provides this information, I found it to be too slow and cumbersome for this one purpose. This motivated me to create an app with the goal of providing a simpler and faster user experience.
Clone the repository and install dependencies:
git clone git@github.com:declanlscott/fodder.git
cd fodder
pnpm i
Create the necessary environment files:
cp apps/backend/.env.example apps/backend/.env
cp apps/frontend/.env.example apps/frontend/.env
Build the monorepo packages and start the dev servers:
pnpm --filter "@repo/*" build
pnpm dev
This project uses GitHub Actions for CI/CD. To run the CI/CD pipeline locally, you can use Act. Follow the installation instructions for your operating system.
Create an act.secrets
file in the root of the repository similar to act.secrets.example
.
On an Apple silicon Mac, I run the following command. If you are running on a different platform, you may not need the --container-architecture
flag.
act --container-architecture linux/amd64 --var-file act.variables --secret-file act.secrets
- Infrastructure
- Terraform IaC
- Cloudflare DNS
- AWS
- CloudFront
- ACM
- S3
- Lambda
- CloudWatch (for logs)
- DynamoDB (for terraform state)
- IAM
- Backend
- Hono
- TypeScript
- LLRT (Low Latency Runtime)
- Unit tests (with Vitest)
- Frontend
- Vite
- React
- TypeScript
- Tailwind CSS