I have a main app (.Net Core) into which I now want to start adding some reporting functionality.
I have watched some of the getting started demos, and am reasonably happy with the actual fundamentals of creating reports, my question is more in regards to how best to structure things in terms of my solution / projects.
My main app is a solution with 4 projects, each representing a layer within the app - Core (plain objects), Data (EF data repository), Logic (business logic) and UI (front end MVC controllers / views etc).
Should I be looking to build a completely separate solution for the reporting, with perhaps a project for data retrieval (JSon) and one for the actual report definitions - is this the recommended best practice - I guess there is also an argument to create the data retrieval completely separate as it's own web service?!
Or should I be keep things more simple and adding reporting into the main app in it's own project.
Obviously I want users of my main app to be able to see and run reports, and also the app will need to be able to produce invoices / purchase orders etc which I will also design as reports.
I am thinking that there may be instances where I may want to refer to reports in another customer facing web app, so in effect could be sharing reports.
Sorry if this is a basic question, I just want to get the fundamentals / foundations right from the off.