Skip to content

Repository files navigation

Platform Starter

A modern full-stack monorepo built with React, Express, TypeScript, and MySQL. Designed for scalable business applications, dashboards, internal tools, and enterprise-grade web platforms.


Architecture

platform/
│
├── client/          # React Frontend
├── server/          # Express API
│
├── package.json
├── README.md
└── .gitignore

Tech Stack

Frontend

  • React
  • Vite
  • React Router DOM
  • Framer Motion
  • Lucide React
  • React Hot Toast
  • Tailwind CSS
  • React Lazy Loading

Backend

  • Express.js
  • TypeScript
  • MySQL2
  • JWT Authentication
  • Argon2 Password Hashing
  • Zod Validation
  • Express Validator

Security

  • Helmet
  • CORS
  • Express Rate Limit
  • Cookie Parser

Utilities

  • Morgan
  • Chalk
  • Dotenv

Features

Frontend

  • Modern React Architecture
  • Protected Routes
  • Responsive Design
  • Toast Notifications
  • Route-Based Code Splitting
  • Reusable Components
  • Animation Support
  • API Integration

Backend

  • RESTful API
  • Authentication & Authorization
  • Validation Layer
  • Error Handling
  • MySQL Database Integration
  • Environment Configuration
  • Secure Middleware

Project Structure

platform/
│
├── client/
│   ├── src/
│   │   ├── assets/
│   │   ├── components/
│   │   ├── contexts/
│   │   ├── hooks/
│   │   ├── layouts/
│   │   ├── pages/
│   │   ├── routes/
│   │   ├── services/
│   │   ├── utils/
│   │   ├── App.jsx
│   │   └── main.jsx
│
├── server/
│   ├── src/
│   │   ├── config/
│   │   ├── controllers/
│   │   ├── middleware/
│   │   ├── models/
│   │   ├── routes/
│   │   ├── services/
│   │   ├── validators/
│   │   ├── utils/
│   │   ├── app.ts
│   │   └── server.ts
│
└── README.md

Installation

Clone Repository

git clone <repository-url>
cd platform

Frontend Setup

cd client
npm install

Start development server:

npm run dev

Default URL:

http://localhost:5173

Backend Setup

cd server
npm install

Create .env:

PORT=5000

DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=
DB_NAME=platform_db

JWT_SECRET=your_secret_key
JWT_EXPIRES_IN=1d

Start development server:

npm run dev

Default URL:

http://localhost:5000

Example:

export interface User {
  id: number;
  name: string;
  email: string;
}

Backend:

import { User } from "@platform/shared";

Frontend:

import { User } from "@platform/shared";

Frontend Dependencies

Package Purpose
React UI Library
Vite Build Tool
React Router DOM Routing
Framer Motion Animations
Lucide React Icons
React Hot Toast Notifications
Tailwind CSS Styling

Backend Dependencies

Package Purpose
Express Web Framework
MySQL2 Database Driver
JWT Authentication
Argon2 Password Hashing
Zod Validation
Helmet Security
Morgan Logging
Chalk Terminal Styling
Cookie Parser Cookie Support
Express Rate Limit API Protection

Future Features

  • RBAC (Role-Based Access Control)
  • File Uploads
  • Audit Logs
  • Email Verification
  • Password Reset
  • Refresh Tokens
  • Docker Support
  • CI/CD Pipeline
  • Unit & Integration Testing

License

MIT License

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages