Birdseye Logo

Birdseye Documentation

The comprehensive guide to setting up and customizing the ultimate React 19 & Node.js Enterprise Admin Dashboard.

Introduction

Welcome to the Birdseye Admin Dashboard documentation. Birdseye is not just another template; it is a premium, production-ready full-stack ecosystem engineered for enterprise scale. Designed with meticulous attention to detail, it bridges the gap between stunning frontend aesthetics and a highly secure, performant backend architecture.

Modern Frontend

Built on React 19 and Vite. Features Zustand for state management, Tailwind CSS for styling, and highly modular components tailored for high-frequency data displays.

Robust Backend

Powered by Node.js and Express. Fully typed with TypeScript, utilizing MongoDB with Mongoose, and featuring secure JWT/Firebase authentication layers.

Turborepo Powered

Orchestrated via Turborepo to provide ultra-fast parallel builds, shared caching, and an incredibly smooth developer experience out of the box.

Admin Dashboard Preview

Key Features & Resources

Birdseye comes packed with everything you need to launch a production-grade SaaS application or enterprise internal tool. Our light-theme focused UI provides maximum clarity and data legibility.

Dual Authentication System

Secure JSON Web Tokens (JWT) combined with Firebase Admin SDK for robust, spoof-proof Google OAuth login.

E-Commerce Ready

Built-in Stripe integration with secure webhook handling, dynamic order tracking, and vendor profit commission logic.

Advanced File Management

Seamless integration with Cloudinary and ImageKit for high-performance media uploading and asset organization.

Interactive Analytics

Beautiful, responsive charts powered by Recharts, complete with dummy data toggles for rapid prototyping.

Monorepo Architecture

Birdseye utilizes a modern monorepo structure. Unlike traditional setups where the frontend and backend live in entirely separate repositories, Birdseye unifies them using Turborepo. This approach is highly favored by industry leaders because it allows you to manage the client and server side-by-side, sharing scripts, types, and ensuring version parity across your entire stack.

Project Directory Structure
birdseye-themeforest/
├── apps/                 # The core applications
│   ├── admin/            # React 19 Client Dashboard (Frontend)
│   │   ├── src/
│   │   │   ├── components/ # Scalable UI and Layout wrappers
│   │   │   ├── pages/      # Application views (Analytics, Users, etc.)
│   │   │   ├── store/      # Zustand state slices
│   │   │   └── utils/      # Helpers and Hooks
│   │   ├── package.json
│   │   └── vite.config.ts
│   └── api/              # Node.js Express Server (Backend)
│       ├── controllers/  # Route business logic (Auth, Users, Stripe)
│       ├── models/       # Mongoose schemas (MongoDB)
│       ├── routes/       # Express endpoint definitions
│       ├── server.ts     # Main entry point
│       └── package.json
├── turbo.json            # Turborepo pipeline configuration
└── pnpm-workspace.yaml   # Workspace dependency mapping

The workspace acts as a single source of truth. Running a command like build at the root level tells Turborepo to analyze the dependency graph and build apps/admin and apps/api intelligently, leveraging cached assets to drastically reduce build times.

Installation & Setup

Prerequisites

  • Node.js: v18.0.0 or higher.
  • Database: A MongoDB cluster (MongoDB Atlas recommended).
  • Accounts: Stripe, Firebase, Cloudinary, and ImageKit accounts for full functionality.

Step 1: Unzip the Package

Extract the downloaded ThemeForest ZIP file and open the root directory (birdseye-themeforest) in your preferred code editor (e.g., VS Code).

Step 2: Install Dependencies

Birdseye is configured to use pnpm by default for maximum speed and strict dependency resolution. However, we have ensured compatibility across all major package managers. Choose the one that fits your workflow:

PNPM (Recommended)

The fastest and most efficient workspace manager.

npm install -g pnpm
pnpm install
NPM

The standard Node.js package manager.

npm install
Yarn

Widely used alternative manager.

npm install -g yarn
yarn install
Bun

The new, ultra-fast JavaScript runtime.

curl -fsSL https://bun.sh/install | bash
bun install

Note for non-pnpm users: If you use npm, yarn, or bun, ensure you delete the pnpm-lock.yaml file before running the install command to prevent lockfile conflicts.

Backend Configuration (.env)

The Express server requires several environmental keys to function correctly. Navigate to apps/api/, duplicate .env.example, and rename it to .env.

Variable Description
PORT The port the server will run on (Default: 8000).
MONGO_URI Your MongoDB connection string. Essential for database operations. (e.g. mongodb+srv://...)
JWT_SECRET A strong, random 256-bit string used to sign JSON Web Tokens. Do not share this.
STRIPE_SECRET_KEY

STRIPE_WEBHOOK_SECRET
Your Stripe API credentials required for processing e-commerce payments securely. The Webhook secret is necessary to verify real-time payment events.
ADMIN_URL

CLIENT_URL
CORS configuration. Controls which domains are allowed to talk to the backend. Usually http://localhost:5173 in local development.
IMAGEKIT_*

CLOUDINARY_*
API keys for your image hosting services. The File Manager and User Profile modules heavily rely on these configurations for media upload and optimization.
SMTP_* SMTP credentials (e.g., Gmail, SendGrid, Amazon SES) used for sending system emails, password resets, and notifications.
FIREBASE_PROJECT_ID Used by the Firebase Admin SDK to cryptographically verify OAuth tokens on the server, ensuring completely secure Google Authentication.

Frontend Configuration (.env)

The React 19 Client requires its own configuration to connect to the backend and external APIs. Navigate to apps/admin/, duplicate .env.example, and rename it to .env.

Variable Description
VITE_API_URL The base URL pointing to your Node.js API (Default: http://localhost:8000). In production, this will be your deployed backend URL.
VITE_FIREBASE_* Your Firebase Web Client configuration keys. This is absolutely required to enable Google OAuth login and Firebase authentication features in the dashboard.
VITE_SHOW_DUMMY_DATA Set to true to populate the dashboard tables with visual dummy data before you have real database entries. Helpful for initial UI testing and presentation.

Running the Application

Once your dependencies are installed and both .env files are configured, starting the development environment is incredibly simple thanks to Turborepo. Depending on your chosen package manager, run the corresponding command from the root directory:

Start Development Server
pnpm dev    # Or npm run dev, yarn dev, bun dev

This single command will intelligently start both the Express backend API and the Vite React frontend in parallel. You will see output from both processes in your terminal.

Admin Dashboard (Client)

http://localhost:5173

Express API (Server)

http://localhost:8000

Deployment Guide

Deploying a monorepo is straightforward once you understand how the two pieces—frontend and backend—connect in production.

Frontend (Vercel / Netlify)

The React 19 admin dashboard compiles into static HTML/CSS/JS via Vite. It is best deployed to static hosting providers.

  • 1. Vercel Configuration

    Import your repository. In the Project Settings, specify the Root Directory as apps/admin.

    The Framework Preset will automatically detect Vite. Add all your VITE_ environment variables, ensuring VITE_API_URL points to your deployed backend URL.

  • 2. Netlify Configuration

    Similar to Vercel, set the Base Directory to apps/admin. Build command: npm run build (or pnpm), Publish directory: dist. Ensure you configure redirect rules for SPA routing.

Backend (Render / Heroku)

The Express API requires a Node.js runtime environment. Platforms like Render or Heroku are perfect for this.

  • 1. Render Configuration

    Create a new "Web Service". Connect your repository. Set the Root Directory to apps/api.

    Build Command: npm install && npm run build
    Start Command: npm start

  • 2. Environment Security

    In your backend platform settings, you must add all production `.env` keys. Most importantly, update CLIENT_URL and ADMIN_URL to match your Vercel/Netlify frontend domain to prevent CORS blocks.

Combining the Experience

The magic happens via environment variables. By ensuring the frontend's VITE_API_URL is strictly set to your deployed backend (e.g. Render), and the backend's CLIENT_URL is strictly set to your Vercel frontend, the two applications securely communicate as a unified full-stack platform.

Support & Resources

Need Help?

If you experience any issues configuring Birdseye, or have any pre-sale questions, please reach out to us through our ThemeForest profile or via our official channels.