Samagra-Development / Doc-Generator

Create PDFs from a variety of formats.
17 stars 46 forks source link

[C4GT] Plugins #122

Open ChakshuGautam opened 1 year ago

ChakshuGautam commented 1 year ago

Project Details

Doc Generator is a tool to create PDFs from a variety of formats. It is used extensively in our programs where we need to share a PDF report of some data. Be it class reports, student reports or usage numbers of our solutions.

Templater a REST API service that can store, manage and render templates. A Template is like a well-defined format in which data can be entered. The output generated is according to the format defined in the template. Templater helps us simplify and enhance this process by providing multiple services such as Data transformation, Lambda API, Templater Playground, Support for multiple engines, etc.

Currently doc generator has its own backend. Moving to Templater as a backend will allow us to benefit from all the development happening at Templater in real time. It would also allow us to spend time on features other than input processing which would be powered by Templater.

Plugin

Consists of Input (Template Type) + Output (Format), plugin can support transforming a set of template types into a set of output formats.

Plugin Registry

Plugin registry holds these details about plugins, these are used to create jobs for generating/transforming templates.

  1. Input
  2. Output
  3. Transformer

Combination Matrix

How to read => Column is input, row in output

PDF Docsx Image Draw.io Excalidraw Mermaid
PDF
Docsx
Image
Draw.io
Excalidraw
Mermaid

References

Block Diagram

DocGenerator drawio

Features to be implemented

Plugins as a framework similar to how VS Code allows for creating extensions.

### What exists The feature doesn't exist right now. ### What needs to be built - [ ] #79 - [ ] #80 - [ ] #81 - [ ] #82 - [ ] #83 - [ ] #84 - [ ] #85 - [ ] #86 - [ ] #87 - [ ] #88 - [ ] #89 - [ ] #90 - [ ] #91 - [ ] #92 - [ ] #93 ## Learning Path ### Complexity High ### Skills Required HTML, Python, Typescript, NestJS. ### Name of Mentors: @AnshulMalik ### Project size 8 Weeks ## Out of Scope ## Milestones - [ ] Understanding the requirements - [ ] Understanding Doc Generator - [ ] Understanding Templater - [ ] Planning elements of doc generator that would move to templater - [ ] Define approaches of the implementation - [ ] Implement backend with templater - [ ] Write tests to verify functionality ## C4GT This issue is nominated for Code for GovTech (C4GT) 2023 edition. C4GT is India's first annual coding program to create a community that can build and contribute to global [Digital Public Goods](https://www.codeforgovtech.in/digitalpublicgoods). If you want to use Open Source GovTech to create impact, then this is the opportunity for you! More about C4GT here: https://codeforgovtech.in/
Himanshu-Dedha commented 1 year ago

Hello @AnshulMalik I'm learning Typescript and have done some projects in Python as well, I wish to contribute to this project, could you please provide me with some pointers on how to begin and where to start ?

aryan2909 commented 1 year ago

hey @AnshulMalik pls update the acceptance criteria for this project.

Ayan-thecodeking commented 1 year ago

@AnshulMalik I hope this message finds you well. I'm excited to express my keen interest in contributing to this project. After conducting a comprehensive review of the issue details, discussions, and codebase, I have found that my skills and experience align well with the project requirements. I have prior experience working with React.js, JavaScript, CSS, MySQL, and Docker. With my expertise in these technologies, I believe I can make valuable contributions to this project. I would greatly appreciate your guidance and support to ensure that I can deliver my best work. 🙌

abheekspandan commented 1 year ago

Hey @AnshulMalik I am keen interested in contributing to this project . I am currently pursuing B.Tech at IIITKota ,I have gone through background of the project and I possess strong foundation in Javascript ,HTML,CSS,Python. I greatly anticipate the opportunity to collaborate with mentors and contribute to the success of this project. With regards Abheek

Mounika-Pavanthi commented 1 year ago

I am excited to contribute to the migration project of the Doc Generator backend to Templater. With my experience in backend development and REST API services, I am well-equipped to support this transition and ensure a seamless integration. By leveraging Templater's features and services, we can enhance the functionality and efficiency of the Doc Generator tool. I am dedicated to collaborating with the team and delivering high-quality code to enable smooth data processing and PDF generation. Please consider my involvement in this project, as I am eager to contribute to its success and improve the overall user experience.

Mounika-Pavanthi commented 1 year ago

I am excited to contribute to the migration project of the Doc Generator backend to Templater. With my experience in backend development and REST API services, I am well-equipped to support this transition and ensure a seamless integration. By leveraging Templater's features and services, we can enhance the functionality and efficiency of the Doc Generator tool. I am dedicated to collaborating with the team and delivering high-quality code to enable smooth data processing and PDF generation. Please consider my involvement in this project, as I am eager to contribute to its success and improve the overall user experience.

ShubhamKrSingh21 commented 1 year ago

Hey @AnshulMalik I am Shubham Kumar Singh, a third-year undergraduate student majoring in Information Technology at the Institute of Engineering & Management, Kolkata which is among the elite universities in India. I am excited to contribute to the migration project of the Doc Generator backend. As an undergraduate who has always been deeply fascinated by the applications of mathematics and computer science, I find my research interest gravitating towards the study of Artificial Intelligence and Java Developer. I've a wide experience in Java of 5+ years and 3+ years at Machine Learning. While this might be a very broad field I am particularly oriented towards Natural Language Processing, Computer Vision, ROI Perception, and Reinforcement Learning. I have explored this subject in-depth and would like to utilize it effectively to address more real-world challenges. I am fortunate enough to acquire a more comprehensive understanding of Al from both graduate-level machine learning courses and participation in research work. While the former has introduced me to neural net approaches that simulate the biological processes of learning and the unsupervised learning methods, the latter is primarily focusing on Bayesian Inference, Reinforcement Learning and Al Planning. I regard Al as a field that never seems to reach full potential as human ingenuity frequently leads to considerable improvements in the study and design of intelligent agents and such realization has also led me to keep exploring the endless possibilities of Al.

Resume - https://drive.google.com/file/d/1-Jih0xJDHNPBvrCxoQ3lOyZvo_N3Iai8/view?usp=drivesdk

LinkedIn - https://www.linkedin.com/in/shubham-kumar-singh-356427206

GitHub - https://github.com/ShubhamKrSingh21

Portfolio - https://shubhamkumarsingh.netlify.app/