Skip to content

A simple and versatile python template-based package to doc generation, originally concepted for academic purposes.

License

Notifications You must be signed in to change notification settings

LucasBergholz/2022-2-ez-docs

 
 

Repository files navigation

ez-docs

What's up everyone!

ez-docs is a MVP (minimum viable product) Python project that were build for an SDM (Software Development Methods) class, with the aim of learn the goals of different approaches for creating software through agile practices.

So, we contribute to the Open Source community with ez-docs, which helps users to issue a wide range of certificates, declarations, resumes, receipts, slips, or whatever else the imagination allows through a database and a template in markdown format.

Prerequisites

Before starting, make sure you've met the following requirements:

  • You have installed the latest version of <Python>.
  • You have a <Windows / Linux / Mac> machine.
  • You read the project GitPage.

Installation

To install ez-docs, open an interactive shell and run:

$ python3 -m pip install ez-docs

Then, to assure the faultless installation, run:

$ ez-docs --about

The terminal ought to print something like this:

=====About this project=====

	This project was developed by Software Engineering students at the University of Brasilia - Campus Gama (UnB-FGA) - during the 2022.2 semester, in the course of Software Development Methods (SDM), under the guidance of prof. Dr. Carla Rocha Aguiar.
    ...

Using ez-docs

To start using ez-docs, you'll need a markdown template, a database (.csv, .xlsx, .json) and a pattern of keys.

  • directory_template: str - template.md

    In your markdown template you must to indicate the fields that you want to replace for the values in database, with the following pattern of keys: <<SAME_DATABASE_COLUMN_NAME>> . You can use images in your markdown but can't use HTML and CSS tags.

    Template file example

  • database: str - database.(csv, txt, xlsx)

    Database file example

  • file_name_pattern: str - parameter concerning the denominator key of the document name, which must follow the format {key_pattern}. For example, for a template that has the keys "name" and "registration", the output could be "name_registration", generating the following results:

    • Aaron_3141592653.pdf
    • Barnardo_2718281828.pdf
    • Caliban_4815162342.pdf

    Valid separators: registration_name, registration-name, registration:name, registration name.

  • flag: int - optional parameter that defines the final format of each document.

    • 0 - The doc will remain in .md
    • 1 (def.) - The doc will be converted to .pdf
  • zip: int - optional parameter that defines the final format of the set.

    • 0 (def.) - The set will be kept at folder ./output;
    • 1 - The files will be joint in a output.zip;
  • constraint: str - optional parameter that sets a constraint for data filtering. Exemple: Suppose you have a data set of students' grades, and you would like to generate a certificate for those whose grades are greater or equal than 8. In this case, you could simply type: "... --constraint 'Grade >= 8.0' (assuming you really have a column named "Grade").

With that, you may open an interactive shell and run:

$ ez-docs <~/template.md> <~/database.csv> <pattern_keys> --flag=0 or 1 --zip=0 or 1

Special functionalities

ez-docs has some in-line functionalities. To use it, type one of the commands below in your terminal:

Project overview, contributors, etc:

$ ez-docs --about

Architecture stuff:

$ ez-docs --architecture

How to use tutorial:

$ ez-docs --help

List of all command line commands:

$ ez-docs --list

Getting involved

  1. Read the CONTRIBUTING.md guide.
  2. Fork this repository.
  3. Create a branch on your local machine: git checkout -b <branch_name>.
  4. Make your changes and confirm them following the Conventional Commits: git commit -m "commit_message"
  5. Send to origin branch: git push origin <branch_name> / <local>
  6. Create pull request through Github.

Product Backlog

To get access to the project backlog, click here.

Contact us

You may email to ezdocsteam@gmail.com. We would be happy to answer your questions and set up a meeting with you.

Open source licensing info

This project is under license. See the LICENSE file for details.


So, take it easy, and use ez-docs to make your docs!

Special thanks to:

Dr. Carla Rocha Aguiar, our professor at the University of Brasília.

ez-docs Team

Created by Bruno Ribeiro, Bruno Martins, Diógenes Dantas, Igor Penha, Lucas Bergholz and Rafael Nobre in 2022

About

A simple and versatile python template-based package to doc generation, originally concepted for academic purposes.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%