Skip to content

vbuccigrossi/Flux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Flux - Work Tracking for Development Teams

Version Status PHP Laravel Vue License

A modern, cyberpunk-themed work tracking system for software development teams. Combines the comprehensive feature set of Jira with the clean, fast UX of Linear.


Work In Progress

This project is under active development and is not yet production-ready.

Current status:

  • Core MVP features implemented (teams, projects, tickets, kanban, cycles)
  • Additional features and polish still needed
  • No automated tests yet
  • Security audit pending
  • Documentation incomplete

See Current Limitations for details on what's not yet implemented.


Features

Implemented

Team Management

  • Multi-team workspace support
  • Role-based access control (Owner, Admin, Member, Viewer)
  • Team member invitations

Project Management

  • Create projects with unique keys (e.g., FT-123)
  • Auto-generated slugs
  • Project-level organization

Ticket System

  • Full CRUD operations for tickets
  • Ticket types: Epic, Story, Task, Bug
  • Priority levels: Low, Medium, High, Urgent
  • Parent/child ticket relationships
  • Assignees and reporters
  • Due dates and estimates
  • Comments with activity timeline
  • Labels and filtering

Kanban Board

  • Drag-and-drop ticket movement
  • Customizable columns
  • WIP (Work-in-Progress) limits
  • Real-time position updates

Sprint/Cycle Management

  • Create sprints with start/end dates
  • Assign tickets to cycles
  • Progress tracking and statistics
  • Cycle status workflow (Planned → Active → Completed)

Roadmap (Foundation)

  • Roadmap items with hierarchy
  • Status tracking
  • Target dates

Planned (Not Yet Implemented)

  • Roadmap timeline visualization (Gantt-style)
  • Workload management views
  • Automation rules
  • Git integration
  • Webhooks
  • Global search / command palette
  • Email notifications
  • File attachments
  • Advanced reporting and charts
  • Mobile application
  • API documentation (OpenAPI/Swagger)

Tech Stack

  • Backend: Laravel 11 (PHP 8.2+)
  • Frontend: Vue 3 + TypeScript
  • Bridge: Inertia.js
  • Styling: Tailwind CSS (custom cyberpunk theme)
  • Database: SQLite (development), PostgreSQL/MySQL supported
  • Authentication: Laravel Breeze + Sanctum
  • Drag & Drop: SortableJS

Installation

Prerequisites

  • PHP 8.2 or higher
  • Composer
  • Node.js 18+ and npm
  • SQLite (or PostgreSQL/MySQL)

Setup

# Clone the repository
git clone https://github.com/yourusername/flux.git
cd flux/flux-app

# Install PHP dependencies
composer install

# Install Node dependencies
npm install

# Copy environment file
cp .env.example .env

# Generate application key
php artisan key:generate

# Create SQLite database
touch database/database.sqlite

# Run migrations
php artisan migrate

# Build frontend assets
npm run build

Running the Application

# Start the development server
php artisan serve --port=8081

# In a separate terminal, start Vite for hot-reload (optional)
npm run dev

Access the application at: http://localhost:8081


Project Structure

flux/
├── flux-app/               # Laravel application
│   ├── app/
│   │   ├── Http/
│   │   │   └── Controllers/
│   │   │       ├── TeamController.php
│   │   │       ├── ProjectController.php
│   │   │       ├── TicketController.php
│   │   │       ├── BoardController.php
│   │   │       ├── CommentController.php
│   │   │       ├── CycleController.php
│   │   │       └── RoadmapController.php
│   │   └── Models/
│   │       ├── Team.php
│   │       ├── Project.php
│   │       ├── Ticket.php
│   │       ├── Board.php
│   │       ├── Column.php
│   │       ├── Comment.php
│   │       ├── ActivityLog.php
│   │       ├── Cycle.php
│   │       └── RoadmapItem.php
│   ├── database/
│   │   └── migrations/     # 9 database tables
│   ├── resources/
│   │   └── js/
│   │       └── Pages/      # Vue page components
│   └── routes/
│       └── web.php         # Application routes
└── README.md

User Roles

Role Permissions
Owner Full access - manage teams, members, projects, all features
Admin Manage projects, boards, cycles, tickets within team
Member Create/edit tickets, comment, move tickets on board
Viewer Read-only access to all team content

Cyberpunk Theme

Flux features a distinctive cyberpunk color palette:

  • Primary (Cyan): #3AF5FF - Links, buttons, highlights
  • Secondary (Magenta): #FF3BC5 - Warnings, epics
  • Success (Green): #37F5A1 - Completed items
  • Warning (Yellow): #FFE66D - Tasks, medium priority
  • Error (Red): #FF4B4B - Bugs, urgent items
  • Background: Dark navy (#050814, #0B1020, #11172A)

Current Limitations

Not Production Ready

  • No automated test suite (PHPUnit, Jest tests needed)
  • Limited error handling in edge cases
  • No rate limiting on API endpoints
  • Security audit not yet performed
  • Database backup strategy not configured

Missing Features

  • No email notifications
  • No file attachments
  • No git integration
  • No webhooks or automation
  • No mobile app

Technical Debt

  • API documentation not generated
  • No OpenAPI/Swagger spec
  • Limited input validation in some forms

Development

Database

# Run migrations
php artisan migrate

# Fresh migration with seed data
php artisan migrate:fresh --seed

# Rollback
php artisan migrate:rollback

Frontend

# Development with hot-reload
npm run dev

# Production build
npm run build

Contributing

This project is in early development. Contributions are welcome, but please be aware the codebase is still maturing.

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes
  4. Push to the branch
  5. Open a Pull Request

License

MIT License - See LICENSE file for details.


Acknowledgments

Built with:

Inspired by:

About

Flux is an in development on-prem ticketing system

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages