A full-stack monorepo application featuring a NestJS API, React Native mobile app, React dashboard, and Next.js web application.
omnistore/
├── apps/
│ ├── api/ # NestJS Backend API
│ ├── app/ # React Native Mobile App (Expo)
│ ├── dashboard/ # React Admin Dashboard (Vite)
│ └── web/ # Next.js Web Application
├── packages/
│ ├── types/ # Shared TypeScript types
│ └── ui/ # Shared UI components
└── docs/
└── api/ # API Documentation
- Node.js v18 or later
- pnpm v10.25.0 or later
- PostgreSQL v14 or later (for API)
- Redis v6 or later (for API)
# Clone the repository
git clone <repository-url>
cd omnistore
# Install dependencies
pnpm install# Run all applications in development mode
pnpm run dev
# Build all applications
pnpm run build
# Lint all applications
pnpm run lintA NestJS-based REST API providing authentication, user management, and backend services.
Features:
- 🔐 JWT Authentication with encrypted tokens
- 👥 Role-Based Access Control (RBAC)
- 📝 Swagger API Documentation
- 🗄️ PostgreSQL with TypeORM
- 📧 Email service with Handlebars templates
- 🔄 Background jobs with BullMQ & Redis
- 🛡️ Security (Helmet, CORS, rate limiting)
Quick Start:
cd apps/api
cp .env.example .env
# Configure your .env file
pnpm run start:devDocumentation: See docs/api/ for detailed API documentation.
A React Native mobile application built with Expo.
Quick Start:
cd apps/app
pnpm run startA React-based admin dashboard built with Vite.
Quick Start:
cd apps/dashboard
pnpm run devA Next.js web application.
Quick Start:
cd apps/web
pnpm run dev- API Documentation
- Getting Started
- Configuration
- Architecture
- Authentication
- API Endpoints
- Database
- Services
- Developer Guide ⭐ - Complete guide with code examples for all features
| Application | Technologies |
|---|---|
| API | NestJS, TypeORM, PostgreSQL, Redis, BullMQ, JWT |
| Mobile App | React Native, Expo |
| Dashboard | React, Vite, TypeScript |
| Web | Next.js, React, TypeScript, Tailwind CSS |
Shared TypeScript type definitions used across applications.
Shared UI components that can be used in web and dashboard applications.
This project uses pnpm as the package manager with workspace support.
| Command | Description |
|---|---|
pnpm run dev |
Start all apps in development mode |
pnpm run build |
Build all applications |
pnpm run lint |
Lint all applications |
pnpm run test |
Run tests across all apps |
Navigate to the specific app directory and use its scripts:
# API
cd apps/api
pnpm run start:dev
# Dashboard
cd apps/dashboard
pnpm run dev
# Web
cd apps/web
pnpm run dev
# Mobile
cd apps/app
pnpm run startEach application has its own environment configuration:
apps/api/.env.example- API environment variables- See API Configuration for details
This project is private and unlicensed.
- Create a feature branch from
main - Make your changes
- Run linting and tests
- Submit a pull request
For more detailed information about each application, refer to the README files in their respective directories.