This project serves as a companion for a workshop that demonstrates the progression from a basic mocked application to a fully functional Smart Sous Chef app. Each step of development is captured in different branches, allowing participants to follow along and understand the evolution of the application.
├── app/ # Main application code
│ ├── (tabs)/ # Tab-based navigation components
│ └── components/ # Reusable UI components
├── amplify/ # AWS Amplify configuration
│ ├── auth/ # Authentication settings
│ ├── data/ # Data models and schema
│ └── storage/ # Storage configuration
├── data/ # Data layer
│ ├── repositories/ # Repository pattern implementation
│ └── types/ # TypeScript type definitions
├── ios/ # iOS native code
└── android/ # Android native code
- Tab-based navigation
- Meal management system
- Shopping list functionality
- User authentication
- Cloud storage integration
- Favorite meals tracking
The workshop is structured in branches, each representing a different stage of development:
starter
- Basic mocked applicationauth
- Adding authenticationstorage
- Adding cloud storageai
- Adding AI capabilitiesdata
- Implementing the data layermain
- Final production-ready application
- Node.js (v14 or later)
- npm or yarn
- Expo development environment (for React Native)
- iOS toolchain for testing on iOS
- Android toolchain for testin on Android
- AWS Account configured on the device.
- Clone the repository
git clone
cd smart-sous-chef
- Install dependencies
npm install
- Check out the starting branch:
git checkout starter
- Follow along with the workshop, switching branches as needed to see the progression:
git checkout auth
# etc.
The flow is as follows:
- starter
- auth
- storage
- ai
- data
- main
- AWS Amplify
- Expo (A React Native framework)
- TypeScript
In this workshop you can use AWS Amplify docs or Q CLI (an agentic CLI tool) to implement more complex scenarios.
AWS Amplify | Q CLI |
---|---|
![]() |
![]() |
Make sure to cleanup the resources after you are done with the workshop. You can delete your project over AWS Console and you can remove the sandbox with the following command:
npx ampx sandbox delete -y
MIT-0