Hi everyone,
Laravel and Laracasts are amazing, a breath of fresh air. Thank you!
My team has an existing project that we want to incrementally migrate to Laravel. We need to keep the old codebase running while we add new features and port old features over to the Laravel application. Please allow me to ask for advice.
Routing:
Regarding routing, the current project is served through custom code running in select pages within a WordPress site at the parent domain example.com. I envision the new Laravel application would have its own authentication infrastructure through Breeze or Jetstream and be served through a subdomain like app.example.com.
Eventually, all functionality, including the interactive web site, the API, and scheduled jobs, would be migrated to the Laravel application in the subdomain. The WordPress site in the parent domain would become a simple welcome or brochure site for our visitors. Does this approach make sense?
Database:
Regarding the database, the existing project has around 50 tables contained within one database schema. The project has a rudimentary yet functional method for applying database migrations.
The Laravel application would require additional database tables, of course, while providing more expressive access to the existing data through Eloquent. What are the benefits and drawbacks of having the new Laravel application share the same database schema as the existing project?
Version control:
Regarding version control, the existing project is managed using Git. The project has a rudimentary method for deploying code from select subfolders of the Git working copy to specific locations on the live servers.
Would it make sense for the Laravel application to be contained in its own Git repository (like a fresh start), or kept in a subfolder of the repository for the existing project (so logic changes in old and new projects due to database schema changes are committed together)? Would there be any benefit for the Laravel application to have its own repository and one of the repositories becomes a submodule of the other so logic changes due to schema changes are kept coordinated?
Gratefully,
Tim