|
| 1 | +# CMS Built with Laravel + React + Inertia.js + Shadcn |
| 2 | + |
| 3 | +This project is a modern Content Management System (CMS) built using Laravel for the backend, React for the frontend, Inertia.js for seamless single-page app functionality, and Shadcn for elegant, customizable UI components. Additionally, it integrates **[PUCK](https://github.com/measuredco/puck)**, a visual editor for React, allowing developers to easily create and customize components using WYSIWYG (What You See Is What You Get) functionality and a drag-and-drop interface. |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | +## UI Builder |
| 9 | +Create beatiful components with [PUCK - The visual editor for React ]([email protected]:measuredco/puck.git). |
| 10 | +This significantly simplifies the process of creating beautiful designs, offering a no-code solution for users. |
| 11 | +- WYSIWYG Editing: Ideal for non-technical users to easily manage content without writing code. |
| 12 | +- Drag-and-Drop: Intuitive interface for rearranging elements and building UIs quickly. |
| 13 | +- Component Reusability: Build modular, reusable components. |
| 14 | +- Integrated with React: Directly export and use the components in your app. |
| 15 | + |
| 16 | + |
| 17 | +## Features |
| 18 | + |
| 19 | +- **Laravel**: Powerful PHP framework for robust backend and API development. |
| 20 | +- **React**: Modern, component-based JavaScript library for building user interfaces. |
| 21 | +- **Inertia.js**: Bridges Laravel and React for building SPAs without an API layer. |
| 22 | +- **Shadcn**: Elegant UI library for creating consistent, customizable components. |
| 23 | +- User authentication (login, register, password reset) |
| 24 | +- Role-based access control (Admin, Editor, etc.) |
| 25 | +- Manage content such as pages, posts, and media |
| 26 | +- CRUD functionality for posts, categories, tags, and more |
| 27 | +- Seamless SPA navigation with Inertia.js |
| 28 | +- Beautiful UI components with Shadcn for a clean user interface |
| 29 | + |
| 30 | +## Requirements |
| 31 | + |
| 32 | +- PHP >= 8.2 |
| 33 | +- Composer |
| 34 | +- Node.js >= 14.x |
| 35 | +- NPM |
| 36 | +- Laravel >= 11.x |
| 37 | +- MySQL or any database supported by Laravel |
| 38 | +- Inertia.js |
| 39 | +- React >= 18.x |
| 40 | +- tailwindcss >= 3.2.x |
| 41 | +- vite >= 5.x |
| 42 | + |
| 43 | +## Installation |
| 44 | + |
| 45 | +Follow these steps to set up the project locally. |
| 46 | + |
| 47 | +### 1. Create project |
| 48 | + |
| 49 | +```bash |
| 50 | +composer create-project coderomeos/laravel-inertia-react-shadcn-boilerplate |
| 51 | +cd laravel-inertia-react-shadcn-boilerplate |
| 52 | +``` |
| 53 | + |
| 54 | +### 2. Install packages |
| 55 | +```bash |
| 56 | +npm install |
| 57 | +``` |
| 58 | + |
| 59 | +### 3. Set Up Environment Variables |
| 60 | +Configure your **database** and other environment variables in _.env_ file: |
| 61 | + |
| 62 | + |
| 63 | +### 4. Run Migrations |
| 64 | +```bash |
| 65 | +php artisan migrate |
| 66 | +``` |
| 67 | + |
| 68 | +### 5. Run the development server |
| 69 | +```bash |
| 70 | +php artisan serve |
| 71 | +``` |
| 72 | + |
| 73 | +In another terminal window, run: |
| 74 | +```bash |
| 75 | +npm run dev |
| 76 | +``` |
| 77 | +### 7. Build Assets |
| 78 | +```bash |
| 79 | +npm run build |
| 80 | +``` |
| 81 | + |
| 82 | +## License |
| 83 | + |
| 84 | +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. |
0 commit comments