Here is what you need to do.
First, make sure you can walk before starting. Create something simple, perhaps regarding your main project.
DO NOT create part of the final project and hope that it will "go" into the final project. This does not work well. What for? You will make dumb mistakes. But you cannot delete or recycle them, because you have to change this error in the final project.
Then select the frame. What kind? Secondly? Yes. Secondly. As long as you are not actually doing anything with some scripting languages ββand frameworks, you do not have a real useful concept of what you are doing. Once you have created something, you now have an informed opinion.
βWait,β you say. "To do step 1, I had to choose a structure." True. Step 1, however, contains solutions that you can reverse. Choosing the wrong structure for step 1 does not have long-term negative consequences. It was just training.
Thirdly, with your strategic base and some experience, break your existing site into parts that you can create using your new structure. The priority of these parts is from the most important to the least important.
DO NOT plan a complete conversion as one massive project. He never works. This makes a lot of work more difficult than necessary.
We will use Django as an example. You will have templates, browsing features, model definitions, URL mappings, and more.
For each assembly, complete the following steps:
Convert an existing model to a Django model. This will never match your legacy SQL. You will have to rethink your model, fix old mistakes, fix old mistakes that you always wanted to fix.
Write unit tests.
Create a conversion utility to export old data and import into a new model.
Create Django admin pages to touch and feel the new data.
Select representative pages and recycle them into appropriate templates. You can use some old JSP pages. However, do not spend too much time on this. Use HTML to create Django templates.
Plan your URL and see the features. Sometimes these view functions will use the old action classes. Do not "convert." Rewrite from scratch. Use your new language and structure.
The only things worth saving are the data and the operational concept. Do not attempt to save or convert code. This is misleading. You can convert unittests from JUnit to Python unittest.
I gave this advice a few months ago. During processing, I had to do some coaching and review. The revised site is up and running. Lack of transition from old technology; they suggested rewriting from scratch. The developer is happy. The site is working well.