Hello I'm a lawyer practising from a small firm in the UK. I am also a Racket-hobbyist.
I'm writing to ask for comments, and perhaps even collaborators, regarding a proposed project to build a case management system. # Documents I'm considering developing a series of DSLs using Racket for use in my firm for writing types of standard document. For example: - A DSL for writing notes of meetings or telephone calls - A DSL for writing letters being sent out from the firm - A DSL for writing financial documents such as invoices and receipts - A DSL for writing other internal notes, such as when we review incoming correspondence like letters or emails These document DSLs would allow "rendering" to a print-friendly format like PDF. My staff could use DrRacket to edit these document files, receiving feedback from the editor if they made errors with the syntax, and rendering them to PDF to see what they looked like. Perhaps there would be a general "Document" DSL which would be an abstraction of all the above document DSLs defining what "fields" were permissible, or necessary, in a document and how that document should be rendered. # Records Embedded across those DSLs would be functions for recording information like: - Project management: What's the name and reference of this project? What "type" of project is it? Who is responsible for it? - Task management: What tasks need to be done? Who is assigned to do them? How long do we estimate they will take to complete? When was a task completed, cancelled or delegated? - Contact information: What telephone numbers, email addresses etc do we have for such-and-such a person? What is the role of each person or organisation in this matter (client, lawyer, expert etc)? - Calendar management: What appointments do we have? Who is expected to attend? - Document management: What correspondence documents have we received? Who gave them to us and when? Who created them and what are their dates? What information do they contain? - Staff management: What are the names of the members of staff? What are their job titles? What is the management structure? - General metadata: What general key/value information does the user want to store? Perhaps these could be modelled as structs and then made available for creation, mutation and deletion in documents using a UUID for identification. It would be important to be able to see the history of this information over time and to be able to identify the various documents that created a record, changed it and then perhaps eventually deleted. # Reports A reporting DSL could then be used to extract the above information from document files for querying purposes. The user could answer questions and produce reports like: - Do I have a telephone number for Alice, and if so which document defined it? - What documents has Bob been working on this week? - What tasks are overdue? - Since Charlie is on annual leave, what tasks were assigned to him? Again, these "reports" would be capable of rendering so that they could be read, printed or sent as PDFs. # Conclusion So does anyone have any comments on this proposed project? Pointing out glaring mistakes or relevant technologies would be very welcome. I am just a hobbyist and do not have any formal programming training. Also, is there anyone out there interested in collaborating with me? Perhaps a student who requires a university project or another businessperson that could also use this type of case management system. I would be absolutely delighted to have one or more buddies to work with on this. Many thanks for your attention. Richard -- Redwood Legal r...@redwoodlegal.co.uk Office: 01157 323277 15 Clarendon Street, Nottingham, NG1 5HR This firm is authorised and regulated by the Solicitors Regulation Authority (SRA ID 637939) -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.