What should I do to increase the speed of my development ?
I have already built a enterprise system with capabilities mentioned below. Please read the complete details and suggest me what can I do to speed up the development ? How can I use AI further to create more deterministic codes
[ Do not ask for github link. This is not an open source project. This is my internal system ]
PrestoFox is a business application System with a collection of components needed to build applications of any complexity. These components work together in PrestoFox to create a strong foundation for the application that gets built on top of it. It is based on modular monolithic MVC architecture both in backend and frontend.
It is built with MIT-licensed technology like Symfony (PHP) at the backend and Quasar (Vue Js) at the front end. It uses a PostgreSQL database and makes use of the latest
GraphQL technology to build APIs. Companies can build applications in many flavors
- SPAs (Single Page App)
- SSR (Server-side Rendered App) (+ optional PWA client takeover)
- PWAs (Progressive Web App)
- BEX (Browser Extension)
- Mobile Apps (Android, iOS, ...) through Cordova or Capacitor
- Multi-platform Desktop Apps (using Electron)
It has code generator whose core purpose to create complete application modules end to end. It does the following
- Generate Bundle / Module
- Generate Doctrine entity
- Add Validations when the property is not null
- Add picklist based relationship using wizard
- Add relationship like OneToOne , OneToMany , ManyToOne, ManyToMany using wizard
- Generate Database migration
- Execute Migration
- Generate GraphQL schema
- Generate GraphQL OutputType
- Generate GraphQL InputType
- Generate Permission
- Generate Frontend configuration
- Generate Admin UI components
It has crud capabilities like
- Full CRUD (list, create, read, update, delete)
- Single Record Update Only (update form only)
- Single Record View and Update Only (read, update)
- Multiple Record Update Only (list, read, update)
- View Only (list and show only)
It also has separate generator for
- Command
- Job Scheduling
- Data Populator
- Notification
- Picklist
System itself have the following implemented
- Authentication and Authorization module
- Attachment module
- Queue System , Cron Job , Job Scheduling and Job Logs
- Data History , Data Revision , Data Revert , Data Validation
- Error Logging
- HealthChecker module
- Tax module
- Export module
- Locale Data module
- Notification module with all channels like Email, SMS, WhatsApp, etc
- Multitenancy
- Document Sequencing Bundle
- Invoice module
- Comment module
- Address module
- Employee module
- Custom Field module
- Entity Link module
- Real Time update module based on mercure
- User Meta Data module
- User and Organization Preferences
- Security Related implementations and API Call limiting
Along with it, It has entity field collection can be added to Doctrine entity file via implements and Use ___Trait approach. These are the list of all the entity collections
- Address Aware
- Currency Aware
- Date Aware
- Single Email Aware
- Multiple Email Aware
- Entity Aware
- Lat Long Aware
- Meta Data Aware
- Organization Aware
- Owner Aware
- Space Aware
- Person Aware
- Single Phone Number Aware
- Multiple Phone Number Aware
- Team Aware
- User Aware
- User Meta Data Aware
- Custom Field Aware
- Tax Aware
- Sub Total Aware
I also has events built in for each Entity. The events are
- onPreRemove
- onPostRemove
- onPreCreate
- onPostCreate
- onPreUpdate
- onPostUpdate
On the frontend side , I has following implementation
- UI controls mapped for each datatype of the entity .
- Well designed minimalist Admin UI.
- Flexible data grids and filters system.
- Role based menu management
- UI for desktop and mobile menu
- Reusable Context menu Component
- Reusable Toolbar Component
- Controls for Single , Multiple Phone Numbers
- Advance dropdown menu where one can 1) Search records 2) See all records in grid 3) Create new record on fly
- Translation system
- Multiple screen layouts like Main,Header Only,Full Screen, Empty , Auth etc
- Vue Mixins for standard functionality around like 1) CRUD 2) Grid 3) Layout 4) Forms
- Common Services like Config, Data Encrypt and Decrypt , Display Formats , Notifications , Page loading , permission, utility etc