Download the PHP package tinymvc/orbit without Composer

On this page you can find all versions of the php package tinymvc/orbit. 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 orbit

orbit-tinymvc-dashboard orbit-dashboard-shot orbit-dashboard-posts

Orbit — TinyMVC Dashboard Starter Kit

A lightweight, fast and flexible admin dashboard built on TinyMVC + Inertia.js + React + Shadcn

License Packagist Version PHP 8.2+ React 19 Inertia.js 2 Tailwind CSS 4


Table of Contents


Overview

Orbit is a production-ready admin dashboard starter kit built on top of the TinyMVC framework. It provides a robust foundation for building modern web applications with a clean, modular architecture.

Key highlights:


Tech Stack

Layer Technology
Backend Framework TinyMVC / Spark (PHP 8.2+)
Server ↔ Client Bridge Inertia.js 2
Frontend React 19 + TypeScript
Styling Tailwind CSS 4
UI Components shadcn/ui (Radix UI primitives)
Charts Recharts
Rich Text Editor Tiptap
Data Tables TanStack Table
Build Tool Vite

Installation

Prerequisites

Via Composer (Recommended)

The fastest way to get started. Composer will automatically copy the env file, generate the app key, run migrations with seeds, and create the storage symlink:

Then install frontend dependencies and build:

Via Git Clone

Install PHP dependencies:

Set up the environment:

Generate application key, create storage symlink, and run migrations with seed data:

Install frontend dependencies:


Configuration

The main configuration file is .env in the project root. Key settings:


Running the Application

Development

Start the PHP development server and Vite dev server in two terminals:

The application will be available at http://localhost:8080.

Production

Build the frontend assets:

Set debug to false in .env, configure your root_url, and point your web server (Apache/Nginx) to the public/ directory.


Default Login Credentials

Navigate to /admin and log in with:

Field Value
Username admin
Password password

Project Structure


BREAD Module

The BREAD (Browse, Read, Edit, Add, Delete) module is the heart of Orbit's admin interface. It lets you create fully functional CRUD interfaces by defining a single PHP resource class — no custom controllers, no custom React pages.

How It Works

  1. You create a Resource class (extends App\Modules\Bread\Resource)
  2. Define your form fields, table columns, filters, and bulk actions
  3. Register the route in routes/web.php with one line
  4. Add a menu entry in the React sidebar config
  5. Done — you get a complete CRUD interface with search, pagination, filtering, bulk actions, create/edit drawers, file uploads, relationships, and more.

Creating a BREAD Resource

Use the built-in Spark command to generate a resource scaffold:

This creates app/Http/Resources/PostsResource.php with a ready-to-customize template.

You can also create resources in subdirectories:

This creates app/Http/Resources/Blog/PostsResource.php.

Resource Configuration

Every resource has a set of static properties that control its behavior:

Form Fields

Form fields define the create/edit drawer interface. All fields use a fluent builder pattern.

Available Field Types

Field Type Class Description
TextInput Form\TextInput Text, email, password, number, URL, tel
Textarea Form\Textarea Multi-line text area
Select Form\Select Dropdown select (single or multi)
Combobox Form\Combobox Searchable select with relationship support
SlugInput Form\SlugInput Auto-generated slug from another field
DatePicker Form\DatePicker Date or date-time picker
FileUpload Form\FileUpload File/image upload with compression & resize
RichEditor Form\RichEditor Tiptap rich text editor
Toggle Form\Toggle Switch/toggle (boolean)
Checkbox Form\Checkbox Checkbox (boolean)
Hidden Form\Hidden Hidden field (not rendered, but submitted)

Common Field Methods

Every field type inherits these methods from the base Field class:

TextInput Examples

SlugInput

Auto-generates a URL-friendly slug from another field:

Select

Combobox (Searchable Select)

The Combobox is the most powerful field type — it supports static options, AJAX search, belongsTo, and belongsToMany relationships:

DatePicker

FileUpload

RichEditor (Tiptap)

Toggle & Checkbox

Table Columns

Table columns define how data appears in the browse table.

Column Types Reference

Method Description
->text() Plain text (default)
->badge() Colored badge with ->badgeMap()
->date() Formatted date
->image() Image with ->imageSize()
->thumbnail() Thumbnail card preview
->avatar($field) Circular avatar + display name
->tags() Array of items as badges
->boolean() True/false indicator
->html() Rendered HTML content
->belongsTo() Related model display

Column Modifiers

Method Description
->header('Label') Custom column header
->clickToEdit() Click row to open edit drawer
->truncate(50) Truncate text to N characters
->hidden() Initially hidden (toggleable)
->display(['field1', 'field2']) Fields to display (for relations)
->limit(3) Max items to show (for tags)
->className('text-red-500') Custom CSS class
->accessor('user.name') Nested data accessor

Filters

Server-side filters appear as dropdowns above the table:

Bulk Actions

Bulk actions appear when rows are selected:

You can also handle custom bulk actions in the resource:

Permissions

Set permission requirements on each CRUD operation:

Set to null to disable the permission check for that operation.

Don't forget to register your permission keys in config/privileges.php:

Dynamic Props

Send additional data to the frontend (e.g., options for select/combobox fields):

Fields reference these using ->dynamicOptions('categories') or ->options('dynamic:categories').

Lifecycle Hooks

Resources provide hooks to customize behavior at every stage:

File Uploads

File uploads are handled automatically when you use Form\FileUpload. The module:

Relationships

BelongsTo

For foreign key fields (e.g., a post belongs to a user):

The user_id value is stored directly on the model.

BelongsToMany

For pivot table relationships (e.g., a post has many categories):

The BREAD module automatically calls sync() on the relationship after create/update.

Registering Routes

In routes/web.php, register your resource with a single line inside the authenticated route group:

This registers the following routes automatically:

Method URI Action
GET /admin/products Index (browse table)
POST /admin/products Store (create record)
PUT /admin/products/{id} Update (edit record)
DELETE /admin/products/{id} Destroy (delete record)
POST /admin/products/bulk-action Bulk action handler
GET /admin/products/search AJAX search (for Combobox)

Complete Resource Example

Here's a full real-world example — the Posts resource included with Orbit:


Dashboard Module

The Dashboard module provides a fluent PHP API for building analytics dashboards with stat cards and charts. The frontend renders everything automatically using Recharts.

Stats Cards

Stats cards display key metrics at the top of the dashboard:

Charts

Six chart types are available, all sharing a common fluent API:

Chart Type Class Best For
BarChart Charts\BarChart Comparing categories
LineChart Charts\LineChart Trends over time
AreaChart Charts\AreaChart Volume trends
PieChart Charts\PieChart Proportional distribution
RadarChart Charts\RadarChart Multi-axis comparison
RadialChart Charts\RadialChart Progress/gauge metrics

Common Chart API

PieChart

RadialChart (Gauge/Progress)

Date Range Picker

Enable a date range picker with quick presets:

The date range is sent as ?from=YYYY-MM-DD&to=YYYY-MM-DD query parameters to the route.

Dashboard Controller Example


Sidebar Menu Configuration

The sidebar navigation is configured in resources/app/config/menu.ts. Import Lucide icons and define your menu structure:

MenuItem Interface

Sidebar Appearance

Customize the sidebar in resources/app/config/sidebar.ts:


Permissions & Privileges

Permission keys are defined in config/privileges.php:

These keys are referenced in:


Available Spark Commands

Command Description
php spark serve Start the development server
php spark key:generate Generate the application encryption key
php spark migrate Run database migrations
php spark migrate --seed Run migrations with seed data
php spark migrate:fresh --seed Re-Run migrations with seed data
php spark storage:link Create a symbolic link for public storage
php spark make:bread {Name} Generate a new BREAD resource

Quick Start Checklist

Here's the step-by-step to add a new CRUD resource (e.g., Products):

  1. Create the model — Define your Product model in app/Models/Product.php
  2. Create a migration — Add a migration in database/migrations/
  3. Generate the resource — Run php spark make:bread Product
  4. Customize the resource — Edit app/Http/Resources/ProductsResource.php (fields, columns, filters, etc.)
  5. Register the route — Add ResourceController::routes(ProductsResource::class); to the auth group in routes/web.php
  6. Add permissions — Add a products section in config/privileges.php
  7. Add the menu item — Add an entry in resources/app/config/menu.ts
  8. Run migrationsphp spark migrate
  9. Done! — Visit /admin/products

License

Orbit is open-source software licensed under the MIT License.

Created by Shahin Moyshan.


All versions of orbit with dependencies

PHP Build Version
Package Version
Requires php Version >=8.2
tinymvc/tinycore Version ^2.3
tinymvc/inertia-php Version ^1.0
phpmailer/phpmailer Version ^7.0
voku/portable-ascii Version ^2.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 tinymvc/orbit contains the following files

Loading the files please wait ...