Introduction to the Genesis Project
About Genesis
Genesis is a dynamic Laravel Starter Kit that leverages the powerful TALL Stack, including TailwindCSS, AlpineJS, Laravel, Livewire, Folio, and Volt. This starter kit is designed for developers who want to hit the ground running by providing essential components like Authentication, User Dashboard, Profile Editing, and an array of UI Components.
Key Technologies
The robustness of Genesis lies in its underlying technologies:
- TailwindCSS: For styling with utility-first CSS framework.
- AlpineJS: For simple JavaScript framework that allows interaction without complex setups.
- Laravel: The PHP framework that powers the foundation of Genesis.
- Livewire: For serving dynamic components.
- Folio and Volt: To handle single-file component files and elegant page-based routing.
Installation Process
Genesis is tailored to seamlessly integrate into a new Laravel application. Begin by setting up a new Laravel project, then execute the following commands:
composer require devdojo/genesis dev-main
php artisan ui genesis
This setup installs Genesis. For those opting for class-based components, include the --option=class
during installation. Afterward, compile the assets with:
npm install && npm run dev
Ensure that database migrations are complete if using a new setup:
php artisan migrate
By now, your application should be operational.
Application Routes
Genesis automatically generates 11 routes, covering essential features like authentication and profile management. Use the following command to view these routes:
php artisan folio:list
Page Descriptions
- Home Page: Redirects authenticated users to the dashboard, configurable via middleware.
- About Page: A template page that can be repurposed or removed.
- Authentication Pages: Features routes and views for login, registration, password reset, and verification.
- Dashboard Page: A minimalist page that users can easily modify, protected by authentication middleware.
- Edit Profile Page: Allows users to update profile information and password, or delete their account.
Additional Features
- Learn Page: Displays the project's README file.
- Layouts: Three customizable layouts (app, marketing, main) provide structural templates.
- UI Components: Reusable components like buttons, checkboxes, links, and more are available, enhancing user interaction.
Testing and Troubleshooting
Genesis includes basic tests for authentication functionality, which can be executed with:
./vendor/bin/pest
In case of visual glitches or build errors, clear compiled views or upgrade npm packages as needed. Special attention may be necessary for Laravel's APP_URL configuration to ensure server compatibility.
Contributors and License
Genesis credits contributors like Tony Lea and associated resources such as TALL Stack and Laravel Breeze. It is available under the MIT License, allowing for open-source utilization and modification.