Barata-Ribeiro/OpenAxis
OpenAxis is a simple single-company ERP for business management.
OpenAxis ERP is a modern, full-stack Enterprise Resource Planning system built with Laravel and React. It provides comprehensive business management tools including inventory control, financial management, sales and purchasing workflows, and client relationship management.
๐ Features
Core Modules
- Inventory Management - Track products, stock levels, and warehouse operations
- Sales Management - Create and manage sales orders, commercial proposals, and quotes
- Purchase Management - Handle purchase orders, supplier relationships, and procurement
- Financial Management - Manage accounts receivable, payable, and payment conditions
- Client & Supplier Management - Comprehensive CRM for business partners
- Product Catalog - Detailed product information with media support
Administrative Features
- User Management - Role-based access control with granular permissions
- Authentication - Secure login with two-factor authentication (2FA)
- Audit Logging - Complete activity tracking and audit trails
- Real-time Updates - WebSocket integration for live notifications
- Dashboard Analytics - Business insights and reporting
- Settings Management - Customizable system configuration
Technical Features
- Modern UI/UX - Responsive design with dark mode support
- Type-safe Routing - Laravel Wayfinder for frontend route generation
- Real-time Broadcasting - Laravel Reverb for WebSocket connections
- Media Library - File uploads and management with Spatie Media Library
- Developer Tools - Telescope for debugging, Debugbar for development insights
- Comprehensive Testing - Pest 4 with browser testing capabilities
๐ Built With
Backend
- PHP 8.4 - Latest PHP version with performance improvements
- Laravel 12 - Modern PHP framework
- Laravel Fortify - Authentication backend
- Laravel Reverb - WebSocket server
- Laravel Telescope - Application debugging
- Laravel Wayfinder - Type-safe routing
- Spatie Laravel Permission - Role and permission management
- Spatie Laravel Media Library - Media management
- Laravel Auditing - Activity logging
Frontend
- React 19 - Modern React with compiler
- Inertia.js 2 - SPA framework for Laravel
- TypeScript 5 - Type-safe JavaScript
- Tailwind CSS 4 - Utility-first CSS framework
- Vite 7 - Fast build tool
- Radix UI - Accessible component primitives
- TanStack Table - Powerful table library
- Framer Motion - Animation library
- React Day Picker - Date picker component
Development Tools
- Pest 4 - Testing framework with browser support
- Laravel Pint - Code style fixer
- ESLint - JavaScript linter
- Prettier - Code formatter
- Laravel Debugbar - Debug toolbar
- Laravel IDE Helper - IDE autocomplete
๐ ๏ธ Project Setup
Prerequisites
- PHP 8.4 or higher
- The following PHP extensions:
- bz2
- curl
- fileinfo
- gd
- gettext
- intl
- mbstring
- exif
- mysqli
- pdo_mysql
- pdo_sqlite
- zip
- php_openssl.dll
- php_ftp.dll
- Composer 2.x
- Node.js 22.x or higher
- npm or yarn
- SQLite (default) or MySQL/PostgreSQL
Installation
-
Clone the repository
git clone https://github.com/Barata-Ribeiro/OpenAxis.git cd OpenAxis -
Install dependencies and setup
composer run setup
This command will:
- Install PHP dependencies
- Copy
.env.exampleto.env - Generate application key
- Run database migrations
- Install Node.js dependencies
- Build frontend assets
-
Configure environment
# Edit .env file with your settings cp .env.example .env php artisan key:generate -
Run database migrations and seeders (optional)
php artisan migrate:fresh --seed
Development
Start the development server:
composer run devThis starts:
- Laravel development server (http://localhost:8000)
- Queue worker
- Vite dev server (hot reload)
- Reverb WebSocket server
With SSR support:
composer run dev:ssrThis additionally starts:
- Inertia SSR server
- Laravel Pail (log viewer)
Testing
Run all tests:
composer run testRun specific test file:
php artisan test tests/Feature/ExampleTest.phpRun with filter:
php artisan test --filter=testNameCode Quality
Format PHP code:
vendor/bin/pintFormat JavaScript/TypeScript:
npm run formatLint JavaScript/TypeScript:
npm run lintType check:
npm run typesBuilding for Production
npm run buildWith SSR:
npm run build:ssr๐๏ธ Folder Structure
openaxis/
โโโ app/ # Application core
โ โโโ Actions/ # Business logic actions
โ โ โโโ Fortify/ # Fortify authentication actions
โ โโโ Common/ # Shared utilities
โ โโโ Console/ # Artisan commands
โ โโโ Enums/ # PHP enumerations
โ โโโ Http/ # HTTP layer
โ โ โโโ Controllers/ # Route controllers
โ โ โโโ Middleware/ # HTTP middleware
โ โ โโโ Requests/ # Form request validation
โ โโโ Interfaces/ # Business logic interfaces
โ โ โโโ Admin/ # Administrative interfaces
โ โ โโโ Management/ # Management interfaces
โ โ โโโ Product/ # Product interfaces
โ โ โโโ Settings/ # Settings interfaces
โ โโโ Mail/ # Email templates
โ โโโ Models/ # Eloquent models
โ โโโ Notifications/ # User notifications
โ โโโ Providers/ # Service providers
โ โโโ Rules/ # Custom validation rules
โ โโโ Services/ # Application services
โ
โโโ bootstrap/ # Application bootstrap
โ โโโ app.php # Application configuration
โ โโโ providers.php # Service provider registration
โ โโโ cache/ # Framework cache
โ
โโโ config/ # Configuration files
โ โโโ app.php # Application config
โ โโโ database.php # Database config
โ โโโ fortify.php # Authentication config
โ โโโ ... # Other configs
โ
โโโ database/ # Database files
โ โโโ factories/ # Model factories
โ โโโ migrations/ # Database migrations
โ โโโ seeders/ # Database seeders
โ
โโโ public/ # Public assets
โ โโโ build/ # Compiled frontend assets
โ
โโโ resources/ # Frontend resources
โ โโโ css/ # Stylesheets
โ โโโ js/ # JavaScript/TypeScript
โ โ โโโ actions/ # Wayfinder generated routes
โ โ โโโ components/ # React components
โ โ โ โโโ application/ # App shell components
โ โ โ โโโ forms/ # Form components
โ โ โ โโโ navigation/ # Navigation components
โ โ โ โโโ table/ # Table components
โ โ โ โโโ ui/ # UI primitives
โ โ โโโ hooks/ # React hooks
โ โ โโโ layouts/ # Page layouts
โ โ โโโ pages/ # Page components
โ โ โ โโโ administrative/ # Admin pages
โ โ โ โโโ auth/ # Auth pages
โ โ โ โโโ dashboards/ # Dashboard pages
โ โ โ โโโ erp/ # ERP module pages
โ โ โ โโโ settings/ # Settings pages
โ โ โโโ routes/ # Named routes
โ โ โโโ types/ # TypeScript definitions
โ โ โโโ lib/ # Utilities
โ โโโ views/ # Blade templates
โ
โโโ routes/ # Route definitions
โ โโโ web.php # Web routes
โ โโโ administrative.php # Admin routes
โ โโโ erp.php # ERP routes
โ โโโ settings.php # Settings routes
โ โโโ console.php # Console routes
โ โโโ channels.php # Broadcast channels
โ
โโโ storage/ # Storage directory
โ โโโ app/ # Application storage
โ โโโ framework/ # Framework files
โ โโโ logs/ # Application logs
โ โโโ media-library/ # Media files
โ
โโโ tests/ # Tests
โ โโโ Feature/ # Feature tests
โ โโโ Unit/ # Unit tests
โ โโโ Browser/ # Browser tests (Pest 4)
โ
โโโ .env.example # Environment template
โโโ composer.json # PHP dependencies
โโโ package.json # Node dependencies
โโโ phpunit.xml # PHPUnit configuration
โโโ vite.config.ts # Vite configuration
โโโ tsconfig.json # TypeScript configuration
๐ค Contributing
Contributions, issues, and feature requests are welcome! Feel free to check the issues page if you want to contribute.
๐ License
This project is free software available under the GPLv3 license.