A full-stack template built with Laravel and React (via Inertia.js), using Typescript for enhanced security and maintainability. This project provides a ready-to-use implementation of authentication screens and a dashboard, with a monolithic architecture that facilitates quick prototyping and development. For styling and visual components, we are using ShadcnUI, ensuring a modern and responsive interface. Additionally, the project includes Laravel Pint and Prettier for code formatting and standardization, with extensive automated testing coverage supported by PHPUnit. The setup is managed by Laravel Sail, allowing for easy development in Docker containers.
This repo is functionality complete — PRs and issues welcome! Feel free to contact me in discord: pea_gah
Check out the demonstration video showcasing the authentication functionality of my full-stack project built with Laravel and React via Inertia.js:
- Laravel Sail: Easily configured Docker environment, allowing for fast and efficient execution on any machine.
- React + Inertia.js: Seamless communication between the Laravel backend and the React frontend, offering a smooth SPA (Single Page Application) experience.
- Makefile: Simplifies common setup and development tasks (such as installation, migrations, and testing) with
easy-to-use commands, all encapsulated in a single
Makefile
. - Automatic Formatting: Utilizes tools like Laravel Pint and Prettier to ensure consistent code formatting and unified style standards.
- Complete Authentication: Ready-to-use authentication flows, including login, registration, password recovery, and password reset.
- ShadcnUI: Integrated with ShadcnUI for modern interface components, ensuring an appealing and efficient user experience.
- Dashboard: A complete dashboard with customizable features, ready for expansion and tailored to user needs.
- Dark Mode: Implemented dark theme for improved accessibility and visual comfort.
- Automated Tests: Automated testing using PHPUnit, including code coverage reports to ensure quality and stability in ongoing development.
- User Role Management: A robust role and permission management system for granular access control.
- OAuth Authentication: We plan to add OAuth login support, making it easy to log in with third-party services like Google, Facebook, and GitHub.
- API Integration: Support for integrating with external APIs, enabling the dashboard to display data and interact with other systems.
- Multi-language Support: Multi-language support to make the template accessible globally.
- Modular UI Components: Expand the UI components to allow easy customization and reuse, offering even more flexibility for interface creation.
- Docker: Ensure you have Docker installed on your machine, as it is required for Laravel Sail to run smoothly.
git clone https://github.com/Peagah-Vieira/Monorepo-Auth-Dashboard.git
cd Monorepo-Auth-Dashboard
composer install
make install
- Start the containers with Laravel Sail.
- Install Composer dependencies.
- Install npm dependencies.
- Run database migrations with seeders.
- Start the development server.
You can now access the server at http://localhost
make up
make stop
make build
make migrate-seed
make npm-dev
make test
make pre-commit
We warmly welcome contributions to this project! Whether you're fixing a bug, adding a new feature, or improving documentation, your help is greatly appreciated. To get started, follow these steps:
Click the "Fork" button at the top of the repository page to create your own copy.
In your forked repository, create a new branch for your feature or bug fix:
git checkout -b feature/your-feature-name
Implement your changes or improvements. Be sure to follow the coding standards enforced by Laravel Pint and Prettier for clean and consistent code.
When you're satisfied with your changes, commit them with a clear and descriptive message:
git commit -m 'Add feature: [brief description of your feature]'
Ensure all tests pass before submitting your contribution. You can run tests with:
make pre-commit
Push your changes to your forked repository:
git push origin feature/your-feature-name
Go to the original repository on GitHub and open a new pull request. In your PR description, provide as much context as possible, explaining what problem you're solving or what feature you're adding.
Absolutely! You are welcome to use this template as the foundation for your personal portfolio projects. If you do, we'd love to hear about it! Feel free to share your projects or improvements with the community.
To report bugs or suggest new features, simply open an issue in the GitHub repository. Be as detailed as possible when describing the bug or feature request to help us address it quickly. Contributions in the form of pull requests are also highly encouraged!
Yes! We welcome contributions from the community. If you’d like to contribute, please check the contribution guidelines and submit a pull request. Whether it’s a new feature, bug fix, or documentation improvement, your input is highly valued.
This project is designed as a template for quick prototyping and educational purposes. While it includes many useful features, we recommend thoroughly reviewing and testing the code before using it in a production environment.
This template combines Laravel with React and Inertia.js, using Typescript for type safety and maintainability. It includes ShadcnUI for UI components, PHPUnit for testing, and Docker support via Laravel Sail.
To set up the project locally, clone the repository and follow the instructions in the README. You can also
use the provided Makefile
to simplify the setup process by running make install
after running composer install
.
We encourage you to share your ideas! Whether it's a new feature, performance enhancement, or even a UI suggestion, feel free to open an issue to start a discussion. We're always open to feedback and new ideas to improve the project.