Skip to content

Repository files navigation

Go ASCII Art Projects 🚀

Go Backend Status

A collection of backend practice projects built with Go while learning backend development.

These projects revolve around building and extending an ASCII Art Generator, gradually adding new features such as file output, text alignment, colors, and a web interface.

The goal was to learn Go by building real tools, not just studying theory.


Projects Overview

ASCII Art Generator

A command-line tool that converts text into ASCII art using different banner styles.

Example

Input

Hello

Output

 _   _      _ _       
| | | | ___| | | ___  
| |_| |/ _ \ | |/ _ \ 
|  _  |  __/ | | (_) |
|_| |_|\___|_|_|\___/ 

Features

  • Converts text into ASCII art
  • Multiple banner styles
  • Handles newlines
  • Validates input characters
  • Reads ASCII templates from files

Example Usage

go run . "Hello" standard

ASCII Art Output

Adds the ability to save generated ASCII art into a file.

Example

go run . --output=result.txt "Hello" standard

Output will be written to:

result.txt

What I Learned

  • File creation in Go
  • Writing to files
  • Handling CLI flags
  • Error handling

ASCII Art Justify

Adds alignment support to ASCII art output.

Supported Alignments

  • left
  • right
  • center
  • justify

Example

go run . --align=center "Hello" standard

Concepts Practiced

  • Terminal width detection
  • Spacing calculations
  • Layout formatting

ASCII Art Color

Adds color support to ASCII output using ANSI escape codes.

Example

go run . --color=red Hello

Concepts Practiced

  • ANSI escape codes
  • Terminal styling
  • Output manipulation

ASCII Art Web

A web version of the ASCII generator built using Go's HTTP server.

Users can enter text on a webpage and receive ASCII art generated by the backend.

Features

  • Web form input
  • Banner selection
  • ASCII output display
  • Error handling
  • Static file serving
  • HTML templates

Example Workflow

  1. User enters text on webpage
  2. Form sends POST request to Go server
  3. Server processes the text
  4. ASCII art is generated
  5. Result is rendered back to the page

Project Structure

ascii-art-web
│
├── main.go
│
├── banners
│   ├── standard.txt
│   ├── shadow.txt
│   └── thinkertoy.txt
│
├── templates
│   └── index.html
│
├── static
│   └── style.css
│
└── README.md

Web Interface

ASCII Web App


Skills Practiced

These projects helped me improve my backend development skills in:

  • Go programming
  • HTTP servers
  • File handling
  • CLI tool development
  • String manipulation
  • Template rendering
  • Error handling
  • Debugging and refactoring code

Why I Built These

Instead of jumping into large frameworks, I focused on building small tools from scratch to better understand how backend systems work.

By progressively adding features such as:

  • File output
  • Alignment
  • Color
  • Web interfaces

I was able to learn how real backend applications evolve over time.


Future Improvements

Possible upgrades include:

  • REST API version of the generator
  • Docker support
  • More ASCII fonts
  • Improved web UI
  • Downloadable ASCII output

Author

Ayodeji Olanrewaju

Backend developer in training focused on building practical tools with Go.

GitHub Portfolio in progress.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages