A monorepo setup for the React Notes application with separate frontend and backend packages.
react-notes/
├── packages/
│ ├── frontend/ # React frontend application
│ └── backend/ # Backend API (coming soon)
├── package.json # Root workspace configuration
└── README.md
- Node.js (v16 or higher)
- npm
Install all dependencies for the monorepo:
npm install# Start frontend development server
npm run dev
# Or specifically target frontend
npm run dev:frontend# Complete backend setup (database + migrations + server)
npm run dev:backend
# Or run components individually:
# Start database only
npm run backend:db
# Run migrations
npm run backend:migrate
# Start development server only
npm run backend:server
# View database logs
npm run backend:logs
# Stop database
npm run backend:stop
# Reset database (removes all data)
npm run backend:resetBackend Prerequisites:
- Docker and Docker Compose (for MySQL database)
- Create a
.envfile inpackages/backend/(copy from.env.exampleand update values)
# Build all packages
npm run build:all
# Lint all packages
npm run lint:allnpm run dev- Start frontend development servernpm run build- Build frontend for productionnpm run dev:frontend- Start frontend development servernpm run dev:backend- Start complete backend (database + migrations + server)npm run backend:db- Start database onlynpm run backend:migrate- Run database migrationsnpm run backend:server- Start backend development server onlynpm run backend:logs- View database logsnpm run backend:stop- Stop databasenpm run backend:reset- Reset database (removes all data)npm run build:frontend- Build frontend for productionnpm run build:backend- Build backend for productionnpm run build:all- Build all packagesnpm run lint:all- Lint all packages
React application built with Vite, featuring:
- React 19
- Vite for fast development and building
- ESLint for code quality
- Hot Module Replacement (HMR)
Express.js backend API with:
- Express.js server
- MySQL database with Sequelize ORM
- Docker Compose for local development
- JWT authentication
- Redis for caching
- Database migrations
- RESTful API endpoints for notes management
See packages/backend/README.md for detailed setup instructions.
- Make changes in the appropriate package directory
- Run tests and linting
- Submit a pull request
- React 19
- Vite
- ESLint
- Express.js
- MySQL with Sequelize ORM
- Docker Compose
- JWT authentication
- Redis caching