Skip to content

Latest commit

 

History

History
86 lines (51 loc) · 4.7 KB

File metadata and controls

86 lines (51 loc) · 4.7 KB

Getting Started

📚 Table of Contents

  1. Requirements
  2. Installation
  3. Features

1. Requirements

Make sure you have the following installed:

  • PHP 8.4+
  • Composer
  • Node.js & npm (or yarn/pnpm)

2. Installation

Use it as Template

You can just go to github page of this repository from here and select Use this template button to create your own repository using this starter-kit.

Clone it

Or you can clone this starter-kit directly by:

git clone https://github.com/devsbuddy/laravel-react-starter-kit.git your-awesome-app

Using Git?

Why using git clone instead of composer install?

This starter kit will only be available as a GitHub repository or a repository template. It will not be released on Packagist, which means you won’t be able to install or create a project using Composer.

The main goal of this starter kit is to be an independent, easy-to-update base that can quickly receive new features or bug fixes in the future.

A common issue with most starter kits is that once you create a project from them, your project can’t easily receive future updates made to the original kit. To solve this, this starter kit works differently — instead of releasing it as a typical package, you can create your project using this kit and then add it as a Git remote in your own repository. This way, you’ll be able to pull future updates directly.

How this works?

Git and GitHub already provide a feature that allows you to use multiple remote URLs for a single repository. Your project will have its own remote URL (usually named origin) to track your work, and you can also add this starter kit’s remote URL — for example, as starter-kit or updates (you can choose any name you like).

In the future, if this starter kit receives new updates, you can simply fetch the latest changes from that remote and merge them into your project. This way, your project will always stay up to date with the starter kit.

Keep in mind that if you modify any core functionality or features from the starter kit, you might face some merge conflicts when applying future updates. Otherwise, fetching the latest updates will be smooth and straightforward.

Tip: Checkout Updating Guide to know how you can receive future updates.

3. Built in features

This starter kit comes with several built-in features that are commonly used across projects. It helps you avoid reinventing the wheel every time by providing a solid foundation with essential features that most projects need.

Auth System

Every application needs some form of authentication, and this starter kit includes one as well. Like Laravel’s official starter kits, it now supports 2FA authentication as this is a fork of it. This isn’t a new feature in this starter kit — I’ve simply adjusted and tweaked certain parts to match the coding style and conventions of this starter kit otherwise it is from the laravel official starter kit.

Global Configurations

Whenever you build an application, you often need a central place to store commonly used data that can be easily managed and updated without extra work.

To address this, the starter kit includes a global app configuration feature. It stores information such as Application Logo, Favicon, Application Name, Email Configurations, and more in a dedicated database table. You can manage these settings easily from the dashboard and use them throughout the application without worrying about future changes.

Email Templates

Why use email templates instead of creating a Mailable class every time?

This feature uses dynamic Mailable classes to send emails, so you don’t need to create a new Mailable class, fill in the details, and design the email UI each time.

The starter kit provides two types of dynamic Mailable classes:

  1. A regular synchronous class that sends emails immediately during the HTTP request.
  2. A queueable class that sends emails in the background using Laravel’s queue system.

Yes, you read that right — this starter kit supports both synchronous and queueable emails to cover all your email needs. You can configure this setting in the Global App Configuration to choose whether emails should be queued or sent immediately. Once set, emails will work automatically according to your preference.

More features are coming soon...