Skip to content
wyxosPublic

About

Open source task management system built with Laravel 12 and Vue 3

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

526 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SHIFT

Report issues from inside a Laravel app

License: MIT Laravel Vue.js PHP TypeScript

SHIFT is an open-source Laravel portal for teams who want users to report bugs and requests from the app page where they happen.

The current focus is practical: wyxos/shift-php adds the task tools to a Laravel app, sends the page URL, route, signed-in user, environment, and selected request details to the portal, and lets a developer reply in the task thread without piecing the report together from email, screenshots, and logs.

The portal still has the normal structure needed to manage the work (organisations, clients, projects, tasks, attachments, and threads), but the public starting point is issue reporting inside Laravel, not a general project-management pitch.

Features

  • In-app issue reports: Report issues from a Laravel page through wyxos/shift-php.
  • Page and request details: Send environment, app URL, route, signed-in user, and selected request fields with the report.
  • Laravel error reports: Attach cleaned exception details to tasks.
  • Task threads: Keep developer follow-up beside the original app report.
  • Portal structure: Organize work by organisations, clients, projects, tasks, attachments, and collaborators.
  • Modern Laravel stack: Laravel 12, Vue 3, TypeScript, Inertia, Tailwind CSS.

Quick Start

Prerequisites

  • PHP 8.3+
  • Node.js 22+
  • Composer
  • MySQL/PostgreSQL

Installation

# Clone the repository
git clone https://github.com/wyxos/shift.git
cd shift

# Install dependencies
composer install
npm ci

# Setup environment
cp .env.example .env
php artisan key:generate

# Configure your database in .env then create the local development fixtures:
php artisan migrate --seed

# Build assets
npm run build

# Start the development server
composer dev

Visit http://localhost:8000 and log in with the seeded development account.

Production deployment

Set APP_ENV=production, disable debug mode, and choose a registration policy before exposing the application:

APP_ENV=production
APP_DEBUG=false
REGISTRATION_MODE=invite_only

REGISTRATION_MODE accepts open, invite_only, or closed. Invite-only installations accept registrations only through signed links for pending project or organisation invitations. Closed installations disable all registration, including invitation links.

Install dependencies, build the frontend, and migrate without development seed data:

composer install --no-dev --optimize-autoloader
npm ci
npm run build
php artisan migrate --force

On a new database, create the first user once from an interactive shell:

php artisan shift:bootstrap-user

The command accepts the password only through a hidden prompt, marks the initial user as verified, and refuses to run after any user exists. Do not pass passwords through command arguments, environment variables, deployment logs, or seeders. After the first user signs in, they can create an organisation and invite the rest of the team.


Documentation

SDK Install Flow

The portal exposes a browser install flow for Laravel apps using the SDK.

  • POST /api/sdk/install/sessions creates an install session and returns the device/user codes plus verification URLs.
  • /sdk/install lets a signed-in user enter or prefill a code, log in if needed, and approve the install session.
  • POST /api/sdk/install/sessions/poll, /projects, /projects/create, and /finalize let the CLI wait for approval, list manageable projects, create a new project when needed, and finish credential setup.
  • The final step reuses an existing project token when possible, otherwise creates one, then issues a user API token once and registers the selected environment URL.

Support


License

Licensed under the MIT License.

About

Open source task management system built with Laravel 12 and Vue 3

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages