i need to create a python flask project, that would be part of another big project 
i need it organized and well tighten 

system: 
i have installed python 
created  a new folder in E 
Named E:\_projects\Project_moana
inside of it i need to create the uitable environemetn for the app 

it should have 
1 page of html where it has :
button1 [create a report] 
button2 [upload a report] 
button3 [reports] 

button1 should direct us to a page of html that has a template form like text box and text labels 
the template should be linked to a json config file where in json it would be like this : 
Section1 
field name , field text for user  ,Keyword1
field name , field text for user  ,Keyword2
field name , field text for user  ,Keyword3
field name , field text for user  ,Keyword4
where in the html page each field name is a text box , and each field text for user is a text appears next to the field on that html 
for example : 
[html of the template ]
Name |_____|
Date |_____| 
button to submit data and generate report 

then when we fill the report [it is ok to have some empty textboxes ] we click submit 
when that button is clicked the report is generated 
the mechanism of generating the report : 
there is a docx file named "report.docx" it has inside of it some typings and text like : 
report.docx
```some line 1 Keyword1 in this context where some line 2 Keyword3 is in context 
```
now when the user clicks submit report 
the file report.docx will be copied and paste into the same directory 
under the name [report_zone.docx] where any changes made will be for this file 
the keywords should be changed to the data from user 
such as Keyword1 , and Keyword3 [all keywords should be changed to the textbox data corresponded to it] 
once the new copied file is complete in all keywords 
a log will occur 
where it tells you [keywords : 
... has been replaced with ... 
... has been replaced with ... 
... has been replaced with ... 
]
then the file will be saved for these new changes 
the file will be saved under a new name, that name is "keyword1" [the textbox data that should replace keyword1 ]
then the file will be converted into pdf file under the same name as is [the textbox data that should replace keyword1]

that is for button1 then we need to have the following for button2 
button2 is for uploading a reaport where it is a pdf report 
when this button is clicked a new html page should appear 
this one would have a button to upload a rport 
a date calender to determine the date of the report [for example i could create a report at 01-01-2024 and want to tupload it at 01-10-2024 ] 
so the date i should choose for each report 
once the date is selected the report should be uploaded and saved into a folder named [Section1/Reports/[year]/[month]/[day]] 
that is for button 2 

button3 
this one will show us a new html page where it would have the following : 
sections by the year 
like 2024
2023
2022 
and so on 
the year is collapsed , when clicked it reveals the months within it 
each month is the same collapsed, until clicked to reveal the days inside of it 
as well as the days too same priniciple 
the year, month, and day should be only the ones that have been already created [no need to show all the years, and all the months of everything , nope, you should only make the dates that only have files in it visible ]
like if i have : 
> file date is 2024\11\1 
> file date is 2023\5\26 
then only the year 2024 and 2023 would appear  
within the year 2024 only the month 11 would appear and with in it only the day 1 would appear where it has a report file 
within the year 2023 only the month 5 would appear and with in it only the day 26 would appear where it has a report file 

when revealed the files it is clickable 
you can open the report file in the browser itself 




everything happens must be printed out [in cmd] and logged too [log file -where new things are on top , and the old ones are after it ,the old ones dont get deleted , and log files are kept till 5 files are created with 5 mega bytes size-]
any thing that needs to happen no matter how small it is must be converted into a function 
where that function is called whenver needed 
no repeated codes [if you want to log what happens, create a function to log the functions, and just call it before that new function being called] 
as well as error handling , it also should  be treated like log function mechanism 
there mut be a bottom button for back [going back to the previous page]