Add new deal term
20 | 21 | 24 | 25 |├── storage ├── logs │ └── .gitignore ├── app │ ├── public │ │ └── .gitignore │ └── .gitignore └── framework │ ├── testing │ └── .gitignore │ ├── views │ └── .gitignore │ ├── cache │ ├── data │ │ └── .gitignore │ └── .gitignore │ ├── sessions │ └── .gitignore │ └── .gitignore ├── database ├── .gitignore ├── seeders │ ├── FakerDealsSeeder.php │ ├── FakerProductsSeeder.php │ ├── FakerSalesSeeder.php │ ├── FakerTasksSeeder.php │ ├── FakerEmployeesSeeder.php │ ├── FakerClientSeeder.php │ ├── FakerFinancesSeeder.php │ ├── FakerCompaniesSeeder.php │ ├── AdminAccSeeder.php │ ├── DatabaseSeeder.php │ └── SettingsSeeder.php ├── migrations │ ├── 2024_09_27_131146_drop_reports_table.php │ ├── 2024_10_15_095913_add_is_visible_to_settings_table.php │ ├── 2024_09_27_122828_rename_companies_id_to_company_id_in_deals_table.php │ ├── 2024_09_27_123343_rename_companies_id_to_company_id_in_finances_table.php │ ├── 2024_11_26_104225_rename_tables.php │ ├── 2014_10_12_100000_create_password_resets_table.php │ ├── 2024_10_17_083819_change_start_time_and_end_time_in_deals_table.php │ ├── 2024_09_12_175506_create_sessions_table.php │ ├── 2020_01_19_131843_add_settings_table.php │ ├── 2020_01_22_121759_add_deals_terms_table.php │ ├── 2014_10_12_000000_create_admins_table.php │ ├── 2024_09_12_174147_create_cache_table.php │ ├── 2017_08_18_073557_create_table_deals.php │ ├── 2017_09_13_171236_create_table_products.php │ ├── 2017_11_18_122319_SystemLogs.php │ ├── 2017_08_08_063939_create_table_clients.php │ ├── 2017_09_12_124214_create_table_tasks.php │ ├── 2017_09_13_171248_create_table_sales.php │ ├── 2017_09_13_171158_create_table_reports.php │ ├── 2017_08_19_101613_create_table_Employees.php │ ├── 2017_08_08_063944_create_table_companies.php │ └── 2017_09_13_171227_create_table_finances.php └── factories │ ├── DealTermFactory.php │ ├── ProductFactory.php │ ├── AdministratorFactory.php │ ├── DealFactory.php │ ├── TaskFactory.php │ ├── SaleFactory.php │ ├── EmployeeFactory.php │ ├── ClientFactory.php │ ├── FinanceFactory.php │ └── CompanyFactory.php ├── public ├── robots.txt ├── images │ ├── avatar.png │ ├── loader.gif │ └── favicon.ico ├── index.php └── .htaccess ├── resources ├── views │ ├── crm │ │ ├── deals │ │ │ └── terms │ │ │ │ ├── terms_pdf.blade.php │ │ │ │ └── create.blade.php │ │ ├── dashboard │ │ │ └── components │ │ │ │ └── charts.blade.php │ │ ├── auth │ │ │ ├── login.blade.php │ │ │ └── passwords │ │ │ │ └── reset.blade.php │ │ ├── products │ │ │ └── create.blade.php │ │ └── sales │ │ │ └── show.blade.php │ └── layouts │ │ ├── footer.blade.php │ │ ├── components │ │ ├── forms │ │ │ ├── input.blade.php │ │ │ ├── textarea.blade.php │ │ │ └── select.blade.php │ │ └── stats.blade.php │ │ ├── header.blade.php │ │ ├── head.blade.php │ │ └── flash-messages.blade.php └── lang │ └── en │ ├── pagination.php │ ├── auth.php │ ├── passwords.php │ └── messages.php ├── bootstrap ├── providers.php ├── app.php └── cache │ └── packages.php ├── app ├── Enums │ ├── Settings.php │ └── RoleType.php ├── Services │ ├── AdminService.php │ ├── SalesService.php │ ├── ProductsService.php │ ├── SettingsService.php │ ├── SystemLogService.php │ ├── CompaniesService.php │ ├── FinancesService.php │ ├── ClientService.php │ ├── EmployeesService.php │ ├── DealsService.php │ ├── TasksService.php │ ├── GraphDataService.php │ └── CalculateCashService.php ├── Models │ ├── Setting.php │ ├── DealTerm.php │ ├── Product.php │ ├── Task.php │ ├── Deal.php │ ├── Sale.php │ ├── Client.php │ ├── Finance.php │ ├── SystemLog.php │ ├── Employee.php │ ├── Company.php │ └── Administrator.php ├── Relations │ ├── Belongs │ │ ├── BelongsToDeal.php │ │ ├── BelongsToClient.php │ │ ├── BelongsToCompany.php │ │ ├── BelongsToEmployee.php │ │ └── BelongsToProduct.php │ └── Has │ │ ├── HasManySales.php │ │ ├── HasManyTasks.php │ │ ├── HasManyCompanies.php │ │ ├── HasManyDeals.php │ │ ├── HasManyDealTerms.php │ │ ├── HasManyEmployees.php │ │ └── HasManyFinances.php ├── Http │ ├── Controllers │ │ ├── Controller.php │ │ └── CRM │ │ │ ├── SettingsController.php │ │ │ └── AuthController.php │ └── Requests │ │ ├── StoreDealTermRequest.php │ │ ├── LoginAdminRequest.php │ │ ├── TaskStoreRequest.php │ │ ├── ChangePasswordRequest.php │ │ ├── DealStoreRequest.php │ │ ├── TaskUpdateRequest.php │ │ ├── ProductStoreRequest.php │ │ ├── DealUpdateRequest.php │ │ ├── SaleStoreRequest.php │ │ ├── ProductUpdateRequest.php │ │ ├── SettingsStoreRequest.php │ │ ├── SaleUpdateRequest.php │ │ ├── EmployeeStoreRequest.php │ │ ├── FinanceStoreRequest.php │ │ ├── EmployeeUpdateRequest.php │ │ ├── FinanceUpdateRequest.php │ │ ├── ClientStoreRequest.php │ │ ├── ClientUpdateRequest.php │ │ ├── CompanyStoreRequest.php │ │ └── CompanyUpdateRequest.php ├── Providers │ ├── BroadcastServiceProvider.php │ ├── AppServiceProvider.php │ ├── AuthServiceProvider.php │ ├── EventServiceProvider.php │ └── RouteServiceProvider.php ├── Queries │ ├── SettingQueries.php │ ├── FinanceQueries.php │ ├── SystemLogQueries.php │ ├── SaleQueries.php │ ├── DealQueries.php │ ├── EmployeeQueries.php │ ├── ProductQueries.php │ ├── ClientQueries.php │ ├── CompanyQueries.php │ └── TaskQueries.php ├── Traits │ └── Language.php ├── Jobs │ ├── Deal │ │ ├── UpdateDealJob.php │ │ ├── StoreDealTermJob.php │ │ └── StoreDealJob.php │ ├── Sale │ │ ├── UpdateSaleJob.php │ │ └── StoreSaleJob.php │ ├── Task │ │ ├── UpdateTaskJob.php │ │ └── StoreTaskJob.php │ ├── Client │ │ ├── UpdateClientJob.php │ │ └── StoreClientJob.php │ ├── Product │ │ ├── UpdateProductJob.php │ │ └── StoreProductJob.php │ ├── Employee │ │ ├── UpdateEmployeeJob.php │ │ └── StoreEmployeeJob.php │ ├── Company │ │ ├── UpdateCompanyJob.php │ │ └── StoreCompanyJob.php │ ├── UpdateSettingsJob.php │ ├── ChangePasswordJob.php │ ├── Finance │ │ ├── UpdateFinanceJob.php │ │ └── StoreFinanceJob.php │ └── StoreSystemLogJob.php └── Console │ ├── Kernel.php │ └── Commands │ └── processSoftCRM.php ├── tests ├── TestCase.php ├── Unit │ └── ExampleTest.php └── Feature │ └── ExampleTest.php ├── .gitattributes ├── routes └── console.php ├── package.json ├── .editorconfig ├── .gitignore ├── artisan ├── MIT_License.txt ├── config ├── services.php ├── filesystems.php ├── cache.php └── mail.php ├── phpunit.xml ├── .env.example ├── composer.json └── CODE_OF_CONDUCT.md /storage/logs/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /database/.gitignore: -------------------------------------------------------------------------------- 1 | *.sqlite 2 | *.sqlite-journal 3 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /storage/app/public/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/app/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !public/ 3 | !.gitignore 4 | -------------------------------------------------------------------------------- /storage/framework/testing/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/views/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/cache/data/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/sessions/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /resources/views/crm/deals/terms/terms_pdf.blade.php: -------------------------------------------------------------------------------- 1 | {!! $body !!} -------------------------------------------------------------------------------- /storage/framework/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !data/ 3 | !.gitignore 4 | -------------------------------------------------------------------------------- /public/images/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamgrzeski/SoftCRM/HEAD/public/images/avatar.png -------------------------------------------------------------------------------- /public/images/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamgrzeski/SoftCRM/HEAD/public/images/loader.gif -------------------------------------------------------------------------------- /bootstrap/providers.php: -------------------------------------------------------------------------------- 1 | comment(Inspiring::quote()); 8 | })->purpose('Display an inspiring quote')->hourly(); 9 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "type": "module", 4 | "scripts": { 5 | "dev": "vite", 6 | "build": "vite build" 7 | }, 8 | "devDependencies": { 9 | "axios": "^1.7.4", 10 | "laravel-vite-plugin": "^1.0", 11 | "vite": "^5.0" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/Relations/Belongs/BelongsToDeal.php: -------------------------------------------------------------------------------- 1 | belongsTo(Deal::class); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/Relations/Belongs/BelongsToClient.php: -------------------------------------------------------------------------------- 1 | belongsTo(Client::class); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/Relations/Has/HasManySales.php: -------------------------------------------------------------------------------- 1 | hasMany(Sale::class, 'product_id'); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /app/Relations/Has/HasManyTasks.php: -------------------------------------------------------------------------------- 1 | hasMany(Task::class, 'employee_id'); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /tests/Unit/ExampleTest.php: -------------------------------------------------------------------------------- 1 | assertTrue(true); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/Relations/Belongs/BelongsToCompany.php: -------------------------------------------------------------------------------- 1 | belongsTo(Company::class); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /app/Relations/Belongs/BelongsToEmployee.php: -------------------------------------------------------------------------------- 1 | belongsTo(Employee::class); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | indent_size = 4 7 | indent_style = space 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | 14 | [*.{yml,yaml}] 15 | indent_size = 2 16 | 17 | [docker-compose.yml] 18 | indent_size = 4 19 | -------------------------------------------------------------------------------- /app/Relations/Has/HasManyCompanies.php: -------------------------------------------------------------------------------- 1 | hasMany(Company::class, 'client_id'); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /app/Relations/Belongs/BelongsToProduct.php: -------------------------------------------------------------------------------- 1 | belongsTo(Product::class, 'product_id'); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.phpunit.cache 2 | /node_modules 3 | /public/build 4 | /public/hot 5 | /public/storage 6 | /storage/*.key 7 | /vendor 8 | .env 9 | .env.backup 10 | .env.production 11 | .phpactor.json 12 | .phpunit.result.cache 13 | Homestead.json 14 | Homestead.yaml 15 | auth.json 16 | npm-debug.log 17 | yarn-error.log 18 | /.fleet 19 | /.idea 20 | /.vscode 21 | /.zed 22 | -------------------------------------------------------------------------------- /app/Models/DealTerm.php: -------------------------------------------------------------------------------- 1 | hasMany(Deal::class, 'id'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /app/Relations/Has/HasManyDealTerms.php: -------------------------------------------------------------------------------- 1 | hasMany(DealTerm::class, 'deal_id'); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /database/seeders/FakerDealsSeeder.php: -------------------------------------------------------------------------------- 1 | create(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /database/seeders/FakerProductsSeeder.php: -------------------------------------------------------------------------------- 1 | create(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /database/seeders/FakerSalesSeeder.php: -------------------------------------------------------------------------------- 1 | count(10)->create(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /database/seeders/FakerTasksSeeder.php: -------------------------------------------------------------------------------- 1 | count(10)->create(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /artisan: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | handleCommand(new ArgvInput); 14 | 15 | exit($status); 16 | -------------------------------------------------------------------------------- /database/seeders/FakerEmployeesSeeder.php: -------------------------------------------------------------------------------- 1 | create(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /resources/views/crm/dashboard/components/charts.blade.php: -------------------------------------------------------------------------------- 1 |
{{ cache()->get('clientsInLatestMonth') }}% increase in 30 days.
8 |{{ cache()->get('companiesInLatestMonth') }}%% increase in 30 days.
18 |{{ cache()->get('employeesInLatestMonth') }}% increase in 30 days.
28 |{{ cache()->get('dealsInLatestMonth') }}% increase in 30 days.
38 |Add new deal term
20 | 21 | 24 | 25 |Password reset
20 |Add new product
20 | 21 | 24 | 25 |Sale details: {{ $sale->name }}
20 | 21 | 28 | 29 || Name | 49 |{{ $sale->name }} | 50 |
|---|---|
| Quantity | 54 |{{ $sale->quantity }} | 55 |
| Date of payment | 59 |{{ $sale->date_of_payment }} | 60 |
| Assigned Product | 64 |65 | {{ $sale->product->name }} 66 | | 67 |
| Status | 70 |{{ $sale->is_active ? 'Active' : 'Deactivate' }} | 71 |