Skip to content

kirito666coder/expo-ecommerce

Repository files navigation

Expo E-Commerce Platform

Navigation: Main READMEMobile AppAdmin DashboardBackend API


Expo E-Commerce Banner

A full-stack e-commerce solution built with Expo (React Native), Next.js, and Express.js. This repository is structured as a monorepo containing three main applications: a mobile client, an admin dashboard, and a backend API.

Expo React Native Next.js Node.js Express.js MongoDB
TypeScript Tailwind CSS Clerk Cloudinary Stripe Inngest

Project Structure

  • Mobile Application (/mobile) - The consumer-facing mobile application built with Expo and React Native.
  • Admin Dashboard (/admin) - The web-based admin dashboard to manage the platform built with Next.js.
  • Backend API (/backend) - The RESTful backend API built with Express.js and MongoDB.

Tech Stack & Libraries

Mobile App (/mobile)

  • Framework: Expo Expo (~54.0.33) / React Native React Native
  • Navigation: Expo Router & React Navigation
  • Styling: Tailwind CSS NativeWind & Tailwind CSS
  • Authentication: Clerk Clerk Expo
  • Data Fetching: React Query & Axios
  • Payments: Stripe React Native
  • Monitoring: Sentry React Native
  • Language: TypeScript TypeScript

Admin Dashboard (/admin)

  • Framework: Next.js Next.js (v16.1.6)
  • Styling: Tailwind CSS Tailwind CSS (v4) & DaisyUI
  • Authentication: Clerk Clerk Next.js
  • Icons: Lucide React
  • Data Fetching: Axios
  • Language: TypeScript TypeScript

Backend API (/backend)

  • Runtime: Node.js Node.js
  • Framework: Express.js Express.js (v5.2.1)
  • Database: MongoDB MongoDB via Mongoose
  • Authentication: Clerk Clerk Express
  • Background Jobs: Inngest Inngest
  • Media Storage: Cloudinary Cloudinary & Multer
  • Security & Logging: Helmet, CORS, Morgan, Winston
  • Language: TypeScript TypeScript

Root Utilities

  • Linting & Formatting: ESLint, Prettier
  • Git Hooks: Husky, Lint-staged

Environment Variables

You need to set up .env files for each workspace. Refer to the respective documentation in Mobile.md, Admin.md, and Backend.md for specific variable details.


Getting Started

Prerequisites

Make sure you have the following installed on your machine:

  • Node.js (v18 or higher recommended)
  • pnpm (Package manager)
  • MongoDB instance (local or MongoDB Atlas)
  • Expo Go app on your mobile device (if testing physically)

1. Clone the repository

git clone <repository-url>
cd Expo-ecommerce

2. Install Dependencies

We use pnpm exclusively in this project. Run the installation in the root and each respective folder:

pnpm install
cd backend && pnpm install
cd ../admin && pnpm install
cd ../mobile && pnpm install

3. Start the Applications

Backend API:

cd backend
pnpm dev

Admin Web Dashboard:

cd admin
pnpm dev

Mobile App:

cd mobile
pnpm start

Scripts

  • pnpm run lint: Lints the entire project.
  • pnpm run lint:{mobile|web|server}: Lints a specific application.
  • pnpm run format: Automatically formats code in the project using Prettier.

Contributing

Contributions, issues, and feature requests are welcome!

License

This project is licensed under the MIT License.

About

A full-stack e-commerce platform with mobile app, admin dashboard, and backend API, built using Expo, Next.js, and Node.js.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors