strictdoc icon indicating copy to clipboard operation
strictdoc copied to clipboard

Web UI Backend

Open fkromer opened this issue 3 years ago • 2 comments

It would be great to have some Web UI similar to the one of doorstop. The backend part (https://github.com/doorstop-dev/doorstop/tree/develop/doorstop/server) uses bootle as framework and REST for frontend integration. Iā€˜d suggest to use FastAPI + Strawberry and GraphQL instead.

fkromer avatar Jan 01 '22 12:01 fkromer

Great question and you are knocking to a door that is open šŸ˜„ Both backend server and frontend UI are on the roadmap where I was thinking of FastAPI as well, but I am missing ready-to-work experience with it and no experience with Strawberry/GraphQL to create a prototype in no time šŸ˜„

This year, with a limited time for strictdoc as a spare-time project, my focus was on creating a more solid backend logic but the implementation server/frontends parts is one of the important next steps.

Would you be open to contributing a skeleton for these features using the stack that you have in mind?

stanislaw avatar Jan 01 '22 12:01 stanislaw

Would you be open to contributing a skeleton for these features using the stack that you have in mind?

Sure, I've experimented with FastAPI + Strawberry a bit. It's perfect for rapid prototypes cause it requires minimal boilerplate code. With Ariadne and Graphene (alternatives to Strawberry) I've worked as well. In case one would hit potential limitations of Strawberry (the youngest framework) one could switch to one of the others.

One thing I don't know yet is how to get the info from specifications and requirements into the backend. With FastAPI one usually defines classes to represent data (e.g. for Requirements) independent of the data persistence layer (database, file, whatever). Would be great if you could give me hints w.r.t. this in the discussions at some point in time.

Head over to this discussion https://github.com/strictdoc-project/strictdoc/discussions/566#discussion-3774865 for more info.

fkromer avatar Jan 01 '22 13:01 fkromer

The newly released Pip package 0.0.34 contains the experimental web interface v0. There are so many things that have to be worked on towards the fully functional web UI, but with v0 in place one can already do basic work with documents and requirements: Running StrictDoc.

In particular, the ReqIF implementation is still hard-coded to a single format. We are planning to introduce more flexibility by supporting several so-called ReqIF profiles, which should simplify integration with all sorts of ReqIF files used in this world.

https://github.com/strictdoc-project/strictdoc/releases/tag/0.0.34

cc @fkromer @adamgreig @BenGardiner @Lukasz-Juranek @lochsh @GGBeer @RobertoBagnara @gustavokerezi

stanislaw avatar Mar 21 '23 18:03 stanislaw