An open API service indexing awesome lists of open source software.

https://github.com/joaoofreitas/challenge-generator

A program that generates a folder structure with challenges and projects for mastering a programming language.
https://github.com/joaoofreitas/challenge-generator

challenge improvement learning-by-doing projects

Last synced: 5 months ago
JSON representation

A program that generates a folder structure with challenges and projects for mastering a programming language.

Awesome Lists containing this project

README

          





Logo

Challenge Generator


A program that generates a folder structure with challenges and projects for mastering a programming language.


Explore the docs »




Report Bug
·
Request Feature
·
Send a Pull Request

## Table of Contents

* [About the Project](#about-the-project)
* [Built With](#built-with)
* [Getting Started](#getting-started)
* [Download](#download)
* [Usage](#usage)
* [Contributing](#contributing)
* [License](#license)
* [Contact](#contact)
* [Acknowledgments](#acknowledgments)

## About The Project 🤠

This project was created just for fun since I wanted to follow [_Karan's_](https://github.com/karan) projects that are in [_this_](https://github.com/karan/Projects) repository.

Before starting with the projects I realized that I'm too lazy to generate a whole file structure to separate and isolate the projects. So I decided to make a program to do it for me.

This program fetches [this](https://raw.githubusercontent.com/karan/Projects/master/README.md) URL and parses it separating subjects, exercises, names, and descriptions into a structure that will be the gate for generating a file structure like this:

```bash
📦Project Learning
┣ 📂Classes
┃ ┣ 📂AirlineHotelReservationSystem
┃ ┃ ┗ 📜README.md
┃ ┣ 📂BankAccountManager
┃ ┃ ┗ 📜README.md
┃ ┣ 📂CompanyManager
┃ ┃ ┗ 📜README.md
┃ ┣ 📂FamilyTreeCreator
┃ ┃ ┗ 📜README.md
┃ ┣ 📂FlowerShopOrderingToGo
┃ ┃ ┗ 📜README.md
┃ ┣ 📂ImageGallery
┃ ┃ ┗ 📜README.md
┣ 📂ClassicAlgorithms
┃ ┣ 📂Closestpairproblem
┃ ┃ ┗ 📜README.md
┃ ┣ 📂CollatzConjecture
┃ ┃ ┗ 📜README.md
┃ ┣ 📂SieveofEratosthenes
┃ ┃ ┗ 📜README.md
┃ ┗ 📂Sorting
┃ ┃ ┗ 📜README.md
```

### Built With 🔨

This program is built purely with [Go](https://golang.org/). No need for extra libraries or any bloated stuff. Minimal and simple.

I've chosen [Go](https://golang.org/) since it's one of the programming languages that I enjoy most.

## Download 📥

This program was meant to be compiled into a single executable. You can download it on my [_releases_](https://github.com/joaoofreitas/challenge-generator/releases) page and download the specific version for your platform.

## Usage 💻

For using this program, simply double-clicking would do the job, but if you want to see the logs properly you can run it in the terminal using:

``` bash
./path_to_executable_file
```

The base directory by default will have the name "Project Learning", but you can change before being generated by putting the name of the base directory as an argument:

``` bash
./path_to_executable_file
```

## 🚧 Roadmap

See the [open issues](https://github.com/joaoofreitas/challenge-generator/issues) for a list of proposed features (and known issues).

## 🤝 Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are **extremely appreciated**.

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

## 📝 License

Distributed under the MIT License. Check `LICENSE` for more information.

## 📫 Contact

João Freitas - _Contact me_

## Acknowledgments

Huge thanks to [Karan](https://github.com/karan) for creating the README.