Project Walkthrough Overview
Code Genie projects are monorepos that include everything you need to deploy a full stack, Serverless, Cloud Native application.
All packages are written using Typescript and Node.js. Packages for the frontend, backend, infrastructure (IAC), and other supporting packages exist within the top-level /packages
directory.
This guide walks you through the source code of a Code Genie project so that you can quickly start building your application.
Project Structure
Below is a high-level view of the overall project structure. In the following guides we’ll dive deeper into each individual package.
Directory.github
Directoryworkflows
- …
Directorypackages
Directoryapi
- …
Directorycdk
- …
Directorycognito
- …
Directoryui
- …
- README.md
- package.json
- …
Frontend Web App
The frontend is a React Next.js Single Page Application (SPA) that uses the Ant Design component library and is hosted on AWS Amplify Hosting.
Read the Frontend project structure walkthrough for more information.
API
The API is an Express REST API hosted on AWS Lambda and API Gateway, utilizing the @codegenie/serverless-express package.
Read the API walkthrough for more information.
Database
The database uses AWS DynamoDB, with DynamoDB Toolbox as the client library for querying and mutating data.
Read the Database walkthrough for more information.
Auth/Identity
User Identity/Auth is managed via an AWS Cognito User Pool.
Read the Auth/Identity walkthrough for more information.
Cloud Infrastructure
All cloud infrastructure is defined as IAC (Infrastructure as Code) using AWS CDK. This enables developers to easily create new and consistent environments for prod, staging, and individual developer instances.
Read the Cloud Infrastructure walkthrough for more information.
CI/CD Pipeline
A Continuous Integration/Delivery (CI/CD) pipeline is built using GitHub Actions/Workflows. Read the CI/CD Pipeline walkthrough for more information.
Miscellaneous (Everything else)
Other packages not covered in other sections (such as common
and utils
) are covered in the Miscellaneous walkthrough.