Skip to content

nclsbayona/resume-generator

Repository files navigation

resume-generator

Workflows statuses


Overview

  1. What is this repository?

    This is a resume generator made using Go.
  2. Why this project?

    I know there exist a lot of resume generators online made using different strategies, languages, formats, colors and so on. However I recently found myself struggling to find a resume generator I could completely personalize the way I wanted to, so I decided to build one. Also I think Go can be a good tool to use in this case since it has native support for templating (At first I was hesitant to use the native libraries because I wanted to use something I had already worked with (Note I'm talking about the Mustache templating engine) but I think not having external dependencies is always a good idea (I know I use other external dependencies already but still I want to keep the number as minimal as possible) ) so I said Why not?


  3. How can I contribute?

    If you want to contribute to this project, I would really appreciate that. Remember you don't necessarily need to code to contribute, you can test the application in a more professional way that what I do, you can add documentation for the usage of the application or even only talking about features that could be important in the project is a great way to contribute. I really value contributors so I include them in this README file.


  4. How's this thing architected?

    I do like clean architectures, that's the reason I wanted this project to have a clean architecture, and since the purpose of this project is building a resume, I decided to implement an architecture that is based a lot on Hexagonal architecture (I like to call it Eneagonal and hopefully that gives you an idea about it) but I decided to add another port that acts like the commander (Much like in CQRS) because I wanted to have different options to use the software but also I wanted to read the values from an external source (Files principally) and generate the full resume using those values but have different options to render that resume (Take it to a file, show it in screen, etc). I hope this diagram makes It more clear to you:



  5. What branching strategy is used here?

    For this repository I want to use a branching strategy based on GitFlow mainly because I find GitFlow being easy to understand and implement. GitFlow's main idea is explained in this diagram
    Git workflow - GitFlow Where we have a main branch and another branch "develop" where we perform the development of the application, and once that is tested and ready for production, a PR to main takes the code to the production branch aka. "main". Since the idea is that both "develop" and "main" are protected branches, for each specific feature a new branch needs to be created to develop that feature. Git workflow - feature branches If you want to learn more, you can visit Attlasian's documentation (Keep in mind the idea is not having release branches).


Contributors

Special thanks to:

Users

nclsbayona
nclsbayona
semantic-release-bot
semantic-release-bot

Bots

dependabot[bot]
dependabot[bot]
github-actions[bot]
github-actions[bot]