Download the PHP package 8bit-technologies/8bit-laravel-starter without Composer

On this page you can find all versions of the php package 8bit-technologies/8bit-laravel-starter. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package 8bit-laravel-starter

8bit Laravel Starter

A production-ready Laravel application foundation built with Laravel, Livewire, Mary UI, Tailwind CSS, and daisyUI — with authentication, member and admin panels, roles & permissions, and user management already structured for extension.

This is a starter, not a finished application. It gives you a working authorization foundation and admin panel so new projects can start from a mature baseline instead of rebuilding the same scaffolding every time.

Features

Everything below is implemented and working in this repository today — not a roadmap.

Foundation

Authentication

Member Panel

Admin Panel

Roles & Permissions Manager

User Management

Bootstrapping

Quality tooling

Public release

Planned / future modules

This starter intentionally stops at the authentication/authorization/admin foundation. Properties, Bookings, Calendar, Guests, Tours, Finance, and Settings are not implemented — they exist only as illustrative examples in this repository's internal design documents of the kind of business modules a project built on this starter is expected to add for itself.

Requirements

Exact package versions are pinned in package.json.

Installation

Using the Laravel Installer (recommended)

If you have the Laravel installer installed, you can scaffold a new project directly from this starter:

Note: the --using flag installs a starter kit published on Packagist. If this exact command isn't resolving yet, clone the repository directly using the instructions below instead — the result is identical.

Manual installation

Required setup after installation

Once dependencies are installed and .env is configured (see Environment Configuration below), run:

Then start the app:

This runs the Laravel dev server, queue listener, log viewer, and Vite dev server together. Visit http://localhost:8000.

Environment Configuration

Configuration lives in .env, generated from .env.example during installation. Key values to review:

Never commit your .env file — it's already excluded via .gitignore.

Timezone

The starter follows Laravel's own configured application timezone, defined in config/app.php:

UTC is the default. If your project needs a different timezone, change this value directly, for example:

This is a one-line change in config/app.php after creating your project — there's nothing else to configure.

Authentication

Authentication is built on Laravel's own primitives with Livewire components (app/Livewire/Auth/):

Registration and email verification are optional

Not every application built on this starter wants public self-registration or mandatory email verification — many are internal or invite-only, with every account created by an administrator through User Management. Both behaviors are controlled independently through config/features.php:

Both default to disabled. Nothing is deleted when disabled — the Register and VerifyEmail Livewire components, their views, and routes all remain in the codebase; only reachability changes.

Registration (registration_enabled): when disabled, /register returns a 404 and the "Sign up" link is hidden from the login page. Set it to true to restore both. This is enforced by a small EnsureRegistrationIsEnabled middleware on the /register route, so the check lives in one place rather than inside the Livewire component.

Email verification (email_verification_enabled): when disabled, /dashboard, /profile, and the entire Admin area (/admin/*) only require authentication (auth), matching Laravel's own convention of composing middleware. When enabled, they additionally require a verified email (auth + verified), exactly as Laravel ships by default. This is enforced by an EnsureEmailIsVerifiedIfRequired middleware that wraps Laravel's native verified middleware — when the feature is disabled it's a pass-through; when enabled it defers entirely to Laravel's own verification check. The Admin area's permission-based authorization (can:access dashboard, Roles/Permissions/User Management rules) is unaffected either way — this setting only ever adds or removes the verification requirement, never the authorization requirement.

Member Panel

The Member Panel is the ordinary authenticated area available to any signed-in user, regardless of role or permissions:

It uses resources/views/layouts/app.blade.php — a simple top navigation bar (branding, a Dashboard link, a user dropdown with Profile/Logout, and a dark mode toggle). It intentionally has no sidebar, so it never looks like a smaller copy of the Admin Panel.

Admin Panel

The Admin Panel (/admin/*) is the permission-gated management area, using resources/views/layouts/admin.blade.php and a grouped, permission-aware sidebar.

The Admin Panel is not a separate application. It's part of the same Laravel application, the same repository, and the same database as the Member Panel — the separation is purely at the routing/layout/authorization level (see ARCHITECTURE.md).

Currently implemented:

Each item is shown only when the current user holds the corresponding permission — see Roles & Permissions below. Additional groups (Accommodation, Finance, Settings, etc.) are added by individual projects as their own modules are built; the starter doesn't ship placeholder navigation for modules that don't exist yet.

Roles & Permissions

Authorization is built on Spatie Laravel Permission.

Naming convention

Permissions use human-readable {verb} {resource} names — not dot notation. The permission name is the Laravel authorization ability, with no separate internal identifier:

These thirteen are the starter's protected/system permissions (config/permissions.php) — they can never be renamed, deleted, or duplicated through the Admin UI, by anyone, including a Super Admin. Additional, project-specific permissions (view bookings, create invoices, ...) can be created freely through the Permissions Manager or a project seeder, following the same {verb} {resource} pattern.

Checking permissions

The same string is used everywhere:

Super Admin

Super Admin is a protected system concept, not an ordinary role. It bypasses every permission check through a single, centralized Gate::before rule registered in AppServiceProvider — there are no scattered hasRole('Super Admin') or isSuperAdmin() checks throughout the application's authorization logic.

The first Super Admin is created through:

This is intentionally the only way to bootstrap the first Super Admin — there's no route or UI form that creates one, closing off the obvious self-escalation path. Once at least one Super Admin exists, an existing Super Admin can promote another user to Super Admin through User Management; this is still guarded server-side by an explicit isSuperAdmin() check on the acting user, not by hiding the option in the UI.

Super Admin protection — the protected role, the protected permissions, and the escalation guards — is handled deliberately at the application/authorization layer, documented in full in PHASE-3-ROLES-PERMISSIONS.md.

User Management

Under Admin → Users → Users, an authorized administrator can:

Role options are loaded dynamically from the database — nothing is hard-coded — and the Super Admin role is only offered as an assignable option to an actor who is already a Super Admin. The last remaining Super Admin can never be deleted or stripped of the Super Admin role, including by themselves.

Development

Project Structure

The three application areas are a routing/layout/authorization distinction within one Laravel app, not separate codebases:

Architecture & Documentation

This repository includes its own internal design documentation:

These are worth reading before making architectural changes to a project built on this starter.

Contributing

Issues and pull requests are welcome. Before submitting a change:

  1. Follow the conventions in CONVENTIONS.md and ARCHITECTURE.md.
  2. Add or update tests for any behavior change.
  3. Run php artisan test, vendor/bin/pint, and vendor/bin/phpstan analyse before opening a pull request.

License

This project is open-sourced software licensed under the MIT license.


All versions of 8bit-laravel-starter with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3
laravel/framework Version ^13.0
laravel/tinker Version ^3.0
livewire/livewire Version ^4.0
robsontenorio/mary Version ^2.0
spatie/laravel-activitylog Version ^4.12
spatie/laravel-medialibrary Version ^11.0
spatie/laravel-permission Version ^8.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package 8bit-technologies/8bit-laravel-starter contains the following files

Loading the files please wait ...