Skip to content

nolrm/reacterial

Repository files navigation

Reacterial

Reacterial is a multi-purpose development platform designed for four core use cases:

  1. πŸ€– AI-Native Admin Starter - Batteries-included admin dashboard with AI integration patterns
  2. πŸ“š Modern Monorepo Learning Platform - Reference implementation for pnpm workspaces, Turborepo, and Next.js 15
  3. ⚑ Internal Tools Accelerator - Clone, configure, and ship internal dashboards in days
  4. 🎨 Component Design System - Living Storybook for @reacterial/ui β€” explore and develop components without running the full app

Built with Next.js, React, Material-UI (MUI), Redux, and a scalable monorepo architecture.

Deployed on Vercel

https://www.reacterial.com/

Stacks

  • Next.js
  • React
  • MUI
  • Vercel
  • TypeScript
  • Redux
  • Auth (NextAuth and Google API Oauth)
  • Jest: Unit Test
  • MongoDB Atlas
  • pnpm Workspaces - Monorepo management
  • Turborepo - Smart caching & build orchestration

🎯 Project Goals & Status

Goal 1: AI-Native Admin Starter πŸ€–

Status: πŸ“‹ Planned
Vision: Complete admin starter with AI integration patterns (LLM-powered insights, natural language queries, automated summaries)

Current State:

  • βœ… Admin dashboard foundation
  • βœ… Data visualization (charts, grids)
  • βœ… Authentication & authorization
  • πŸ“‹ AI integration examples (planned)
  • πŸ“‹ LLM provider abstraction layer (planned)

Goal 2: Modern Monorepo Learning Platform πŸ“š

Status: βœ… Implemented
Vision: Production-ready reference for teams learning modern monorepo patterns

Current State:

  • βœ… pnpm workspaces setup
  • βœ… Turborepo integration
  • βœ… Shared packages (@reacterial/ui, @reacterial/auth, @reacterial/theme)
  • βœ… Comprehensive documentation
  • πŸ“‹ Interactive tutorials (planned)
  • πŸ“‹ Video walkthroughs (planned)

Goal 3: Internal Tools Accelerator ⚑

Status: 🚧 In Progress
Vision: Clone this repo, wire your data models, and have a working internal tool in a weekend

Current State:

  • βœ… Monorepo structure
  • βœ… Shared UI components
  • βœ… Database models & scripts
  • βœ… Authentication system
  • 🚧 CRUD scaffolding generator (in progress)
  • πŸ“‹ One-command setup script (planned)

Goal 4: Component Design System 🎨

Status: πŸ“‹ Planned Vision: A living Storybook for @reacterial/ui β€” browse, develop, and test components without spinning up the full app (no MongoDB, no auth required)

Current State:

  • βœ… Shared UI library (@reacterial/ui) with 9 components
  • βœ… Components decoupled from app-specific concerns (Redux, NextAuth)
  • πŸ“‹ Storybook setup in packages/ui/ (planned)
  • πŸ“‹ Stories for all components with autodocs (planned)
  • πŸ“‹ Light/dark mode toggle in Storybook toolbar (planned)

See Storybook & Design System Plan for the full implementation plan.

See Roadmap for detailed development phases and timeline.

Local development

Step 1: Install Dependencies

pnpm install

Step 2: Set Up Environment Variables

Create apps/admin/.env.local file with your credentials:

# Copy the example file
cp apps/admin/.env.local.example apps/admin/.env.local

# Edit with your MongoDB URI and secrets
nano apps/admin/.env.local

Required variables:

  • MONGODB_URI - Your MongoDB connection string
  • NEXTAUTH_SECRET - Generate with: openssl rand -base64 32
  • NEXTAUTH_URL - http://localhost:3000 (for local dev)

See Environment Setup Guide for detailed instructions.

Step 3: Run Development Server

pnpm dev

Open http://localhost:3000 with your browser to see the result.

Default Credentials

  • Email: admin@reacterial.com
  • Password: admin123

Database

1. cd db
2. pnpm install
3. pnpm run reset

Using NPM (Legacy)

If you prefer npm, you can still use it:

1. npm install
2. npm run dev

⚑ Turborepo Features

This project leverages Turborepo for lightning-fast builds:

  • βœ… Smart Caching - Never rebuild the same code twice (141x faster on cache hits!)
  • βœ… Parallel Execution - Run tasks across packages simultaneously
  • βœ… Dependency-Aware - Automatically builds packages in the correct order
  • βœ… Remote Caching - Share build cache with your team (optional)

Example Performance:

First build:  17.3s
Cached build: 123ms  ⚑ >>> FULL TURBO

πŸ“š Documentation

Comprehensive documentation is available in the docs/ directory:

Roadmap & Vision

  • πŸ—ΊοΈ Roadmap - Planned features and development phases across all three goals

Getting Started

Architecture & Best Practices

Development & Deployment

Reference

πŸ§ͺ Testing

# Run unit tests in watch mode
pnpm test

# Run unit tests in CI mode
pnpm test:ci

E2E Smoke Tests (Playwright)

Requires MongoDB running with seed data and .env.local configured.

# Seed the database first (once)
pnpm --filter reacterial-db-init seed

# Run Playwright smoke tests (auto-starts dev server if needed)
pnpm --filter @reacterial/admin e2e

Covers: landing page, login flow, dashboard, profile page, and auth guard redirect. See apps/admin/e2e/README.md for full setup.

πŸ“¦ Building

# Format, lint, and build for production
pnpm build

# Start production server
pnpm start

About

Next.js + react + MUI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors