A minimalist, beautiful, and production-ready starter kit
We've created a simple demo showcasing all the features this starter kit offers. Click the button below to explore it. Note that the app is deployed on a small server with limited resources, so it may run slowly. It also periodically clears all data to conserve storage space.
Important
Note that this is an opinionated starter kit with features tailored to my current needs, and it will continue to evolve as the project progresses. Pull requests are welcome for new features and improvements, especially since this project was built while I was learning and exploring the PHP and Laravel ecosystems.
Here’s the list of features included in the Keza starter kit:
- Laravel Breeze: A minimal, straightforward implementation of all Laravel's authentication features.
- Inertia with React: A modern approach to building classic server-driven web applications.
- Mantine: A fully-featured React component library.
- Styling with Tailwind.
- Testing with Pest.
- End-to-End Types with Laravel Data.
- Code Formatting with Prettier and Pint.
- Linting with ESLint.
- Static types with TypeScript and static analysis with PHPStan.
- Typed Route Inference on the Frontend
- Production-Ready SQLite Database.
- Fly app deployment with Docker
- GitHub Actions for deploy on merge to production and staging environments
Before you begin, ensure your system meets the following requirements:
- PHP 8.x or higher
- Composer (latest version)
- Node.js 20 or higher
- SQLite (used as the database)
You can streamline the setup process by running the install script:
./install.sh
Alternatively, follow these steps manually:
# Clone the repository and navigate into the project directory
git clone [email protected]:mucolabs/keza_starter_kit.git
cd keza_starter_kit
# Copy the example environment file
cp .env.example .env
Note
- The
.env
file holds sensitive configurations like app keys. - Ensure
DB_CONNECTION=sqlite
is set, and the path to your SQLite database file (e.g.,database/database.sqlite
) is correctly configured. - Modify other environment variables as needed.
# Install PHP dependencies
composer install
# Install JavaScript dependencies
npm install
# Generate the application key for secure encryption
php artisan key:generate
# Run database migrations to set up the required tables
php artisan migrate
# Start the development server and Access the application by visiting: http://localhost:8000
composer run dev
If you found the Keza starter kit helpful, please consider supporting it with a star. Thank you!
Special thanks to Daniel Kanem and Josh Cirre for inspiring this project.
The Keza starter kit is open-source software licensed under the MIT license. You are free to use the code for inspiration, though crediting the author is appreciated.