Skip to content

OpenAxis is a simple single-company ERP for business management.

License

Notifications You must be signed in to change notification settings

Barata-Ribeiro/OpenAxis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

The main logo of OpenAxis

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.

⚠️ Development Notice: This project is under active development. The current version may contain bugs and incomplete features. Use at your own risk.

πŸ“š 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

Frontend

Development Tools

πŸ› οΈ Project Setup

Prerequisites

  • PHP 8.4 or higher
  • Composer 2.x
  • Node.js 20.x or higher
  • npm or yarn
  • SQLite (default) or MySQL/PostgreSQL

Installation

  1. Clone the repository

    git clone https://github.com/Barata-Ribeiro/OpenAxis.git
    cd OpenAxis
  2. Install dependencies and setup

    composer run setup

    This command will:

    • Install PHP dependencies
    • Copy .env.example to .env
    • Generate application key
    • Run database migrations
    • Install Node.js dependencies
    • Build frontend assets
  3. Configure environment

    # Edit .env file with your settings
    cp .env.example .env
    php artisan key:generate
  4. Run database migrations and seeders (optional)

    php artisan migrate:fresh --seed

Development

Start the development server:

composer run dev

This starts:

  • Laravel development server (http://localhost:8000)
  • Queue worker
  • Vite dev server (hot reload)
  • Reverb WebSocket server

With SSR support:

composer run dev:ssr

This additionally starts:

  • Inertia SSR server
  • Laravel Pail (log viewer)

Testing

Run all tests:

composer run test

Run specific test file:

php artisan test tests/Feature/ExampleTest.php

Run with filter:

php artisan test --filter=testName

Code Quality

Format PHP code:

vendor/bin/pint

Format JavaScript/TypeScript:

npm run format

Lint JavaScript/TypeScript:

npm run lint

Type check:

npm run types

Building for Production

npm run build

With 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.