RetailCortex is a modern, high-performance retail management platform built with a robust monorepo architecture. It leverages a full-stack TypeScript and Python ecosystem, designed for scalability and ease of deployment.
The project is organized as a monorepo using Turborepo, managing four primary components:
frontend/: A modern web interface built with Next.js.app/: A cross-platform mobile application built with Expo (React Native).backend/: A high-performance API built with FastAPI.infra/: Infrastructure as Code (IaC) using Terraform for automated provisioning on Google Cloud Platform.
- Web Framework: Next.js (App Router)
- Mobile Framework: Expo (React Native)
- Styling: Tailwind CSS (Web), Nativewind/React Native StyleSheet
- Language: TypeScript
- Package Manager: pnpm
- Framework: FastAPI
- Server: Uvicorn
- Language: Python 3.9+
- Package Manager: uv
- Cloud: Google Cloud Platform (GCP)
- IaC: Terraform
- Monorepo Tooling: Turborepo
Ensure you have the following installed:
-
Clone the repository:
git clone https://github.com/yellowwlabs/RetailCortex.git cd RetailCortex -
Install dependencies:
# Install all frontend, mobile, and root dependencies pnpm install # Install backend dependencies cd backend uv sync cd ..
You can run the frontend, mobile app (web), and backend simultaneously using Turbo:
pnpm dev- Frontend: http://localhost:3000
- Mobile (Web): http://localhost:8081
- Backend: http://localhost:8000 (Check
/healthfor status)
The infra/ directory contains Terraform configurations to deploy the application to GCP.
-
Setup Credentials: Place your Google Cloud service account key at
keys/googleServiceAccount.json. -
Deploy:
cd infra terraform init terraform plan terraform apply
RetailCortex/
├── app/ # Expo mobile application
├── backend/ # FastAPI application
├── frontend/ # Next.js web application
├── infra/ # Terraform configurations
├── keys/ # (Ignored) GCP service account keys
├── package.json # Monorepo configuration
└── turbo.json # Turborepo pipeline configuration
This project is licensed under the MIT License - see the LICENSE file for details.