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.
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.
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.
...
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.
-
database: str - database.(csv, txt, xlsx)
-
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
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
- Read the CONTRIBUTING.md guide.
- Fork this repository.
- Create a branch on your local machine:
git checkout -b <branch_name>
. - Make your changes and confirm them following the Conventional Commits:
git commit -m "commit_message"
- Send to origin branch:
git push origin <branch_name> / <local>
- Create pull request through Github.
To get access to the project backlog, click here.
You may email to [email protected]. We would be happy to answer your questions and set up a meeting with you.
This project is under license. See the LICENSE file for details.
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