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

https://github.com/jezreal-dev/piscine-go-portfolio

Foundational projects completed during the Learn2Earn NG Piscine-Go (Nov–Dec 2025), focusing on Go, algorithms, and problem-solving.
https://github.com/jezreal-dev/piscine-go-portfolio

Last synced: 11 days ago
JSON representation

Foundational projects completed during the Learn2Earn NG Piscine-Go (Nov–Dec 2025), focusing on Go, algorithms, and problem-solving.

Awesome Lists containing this project

README

          

---

# piscine-go-portfolio

![Go](https://img.shields.io/badge/language-Go-00ADD8?logo=go)
![License](https://img.shields.io/badge/license-MIT-green)
![Status](https://img.shields.io/badge/status-Complete-brightgreen)

A comprehensive portfolio of **foundational programming projects** completed during the **Learn2Earn NG Piscine-Go bootcamp** (November–December 2025). This repository demonstrates proficiency in Go, algorithms, problem‑solving, and software craftsmanship through progressively challenging exercises.

---

## 🎯 Overview

The **Piscine-Go** program is an intensive, project‑based bootcamp emphasizing:

- **Iterative problem‑solving** — tackling complex challenges through refinement and testing
- **Collaborative learning** — peer review, pair programming, and knowledge sharing
- **Professional practices** — clean code, documentation, version control, and code reviews
- **Algorithm mastery** — from basic loops to recursive backtracking and data structures

This repository documents **all exercises and projects** completed during the bootcamp, organized by difficulty level (**Quests**) and domain (**Raid**).

---

## 📂 Repository Structure

```
learn2earn-piscine-go/
├── README.md # Root portfolio overview
├── LICENSE # MIT License
├── quests/ # Main learning path (quests 01–12)
│ ├── quest01/ # Foundations: Git, shell, communication
│ ├── quest02/ # Output formatting & numeric logic
│ ├── quest03/ # String manipulation & parsing
│ ├── quest04/ # Conditionals & algorithms (GCD, prime check)
│ ├── quest05/ # Loops & iteration
│ ├── quest06/ # Pointers & memory concepts
│ ├── quest07/ # Structs & custom types
│ ├── quest08/ # Interfaces & type assertions
│ ├── quest09/ # Goroutines & concurrency (intro)
│ ├── quest10/ # Hackathon: advanced problem-solving
│ │ ├── join/
│ │ ├── enigma/
│ │ ├── descendappendrange/
│ │ ├── shoppinglistsort/
│ │ ├── comcheck/
│ │ ├── reversemenuindex/
│ │ ├── podiumposition/
│ │ ├── activebits/
│ │ ├── pilot/
│ │ ├── fixthemain/
│ │ ├── max/
│ │ ├── rockandroll/
│ │ └── loafofbread/
│ ├── quest11/ # Linked lists & node structures
│ ├── quest12/ # Binary trees & tree traversal
│ └── README.md # Quest index & progression guide
├── raid/ # Capstone projects (problem-solving challenges)
│ ├── sudoku/ # Sudoku solver (backtracking algorithm)
│ ├── quad/ # ASCII art generator (5 patterns)
│ ├── quadchecker/ # Input validator & checker
│ └── README.md # Raid overview
└── checkpoints/ # Checkpoint challenges (archived)
```

---

## 🚀 Quick Start

### Prerequisites
- **Go 1.20+** ([download](https://golang.org/dl))
- **Bash/sh** for shell exercises
- **Git** for version control

### Running Exercises

**Go Exercises (Quests):**
```bash
cd quests/quest02/printalphabet
go run .
```

**Raid Projects:**
```bash
cd raid/sudoku
go run . ".96.4...1" "1...6...4" "5.481.39." "..795..43" ".3..8...." "4.5.23.18" ".1.63..59" ".59.7.83." "..359...7"
```

**Shell Scripts (Quest01):**
```bash
cd quests/quest01/cl-camp1
./mastertheLS
```

---

## 📚 Learning Path

### Quest01 — Foundations & Onboarding
**Focus:** Git basics, shell scripting, communication, environment setup
**Key Exercises:** Git workflow, command‑line tools, communication templates

### Quests02–07 — Core Go & Algorithms
**Focus:** Output, strings, conditionals, loops, pointers
**Key Skills:** Rune handling, numeric conversion, recursive logic

### Quest08–12 — Advanced Go
**Focus:** Interfaces, concurrency, data structures (lists, trees)
**Key Skills:** Type systems, goroutines, linked lists, binary trees

### Quest10 — Hackathon Challenges
**Focus:** Advanced problem‑solving under constraints
**Key Exercises:**
- String concatenation (`join`)
- Pointer manipulation (`enigma`)
- Slice building (`descendappendrange`)
- Custom sorting (`shoppinglistsort`)
- Command‑line tools (`comcheck`)
- Slice reversal (`reversemenuindex`)
- Nested slices (`podiumposition`)
- Bitwise operations (`activebits`)
- Structs (`pilot`)
- Debugging broken code (`fixthemain`)
- Maximum value search (`max`)
- Conditional logic (`rockandroll`)
- String grouping (`loafofbread`)

### Raid Exercises — Capstone Challenges
**Focus:** Real‑world problem‑solving under time pressure
- **Sudoku Solver** — Recursive backtracking with constraint validation
- **Quad Functions** — ASCII art generation with pattern logic
- **Quadchecker** — Input validation and file processing

---

## 📋 Project Highlights

### ⭐ Sudoku Solver (`raid/sudoku/`)
A professional Go implementation of a constraint‑satisfying backtracking solver.
- Validates input format and puzzle legality
- Solves 9×9 Sudoku puzzles efficiently
- Handles edge cases (invalid input, unsolvable puzzles)
- Full test suite included

**Skills Demonstrated:**
Algorithm design (backtracking), input validation, recursive problem‑solving, error handling in Go

---

### ⭐ Quad Functions (`raid/quad/`)
Five ASCII art pattern generators demonstrating loop control and formatted output.
- Patterns: corners, edges, and interior logic
- Handles edge cases (size ≤ 0, large dimensions)
- Clean separation of concerns (each quad in its own function)

**Skills Demonstrated:**
Loop nesting, string/rune handling, pattern recognition, code organization

---

## 🛠️ Tech Stack

| Component | Technology | Usage |
|-----------|------------|-------|
| **Language** | Go 1.20+ | Primary implementation language |
| **Build** | `go build` / `go run` | Compilation and execution |
| **Testing** | Go's built‑in `testing` | Unit tests for exercises |
| **Version Control** | Git | Code management and history |
| **Shell** | Bash/sh | Quest01 exercises, utilities |

---

## ✅ Skills Acquired

### Go Fundamentals
✓ Package structure and modules (`go.mod`)
✓ Control flow (if, for, switch)
✓ Functions and return values
✓ String/rune handling
✓ Slices, arrays, maps, custom types
✓ Interfaces and type assertions
✓ Error handling and custom errors
✓ Goroutines and basic concurrency

### Algorithms & Data Structures
✓ Recursive problem‑solving (backtracking)
✓ Nested loops and optimization
✓ Constraint satisfaction
✓ Linked lists and node structures
✓ Binary trees and traversal
✓ Searching and sorting algorithms

### Software Practices
✓ Git workflow (commits, branching, merging)
✓ Code documentation and READMEs
✓ Test‑driven development
✓ Peer review and iteration
✓ Command‑line tool development
✓ Input validation and error handling

### Soft Skills
✓ Problem decomposition
✓ Time management under pressure
✓ Self‑directed learning
✓ Debugging and troubleshooting
✓ Communication and documentation

---

## 📖 How to Navigate

1. **Recruiters/Evaluators:** Start with `[Looks like the result wasn't safe to show. Let's switch things up and try something else!]` — polished, production‑ready capstones.
2. **Learners:** Follow `[Looks like the result wasn't safe to show. Let's switch things up and try something else!]` sequentially (quest01 → quest12) to build skills progressively.
3. **Details:** Each exercise directory contains its own `README.md` with problem description, implementation hints, and usage examples.

---

## 📝 License

Licensed under the **MIT License**. See `[Looks like the result wasn't safe to show. Let's switch things up and try something else!]` for details.

---

## 🙋 Questions & Feedback

For questions about specific exercises, refer to the individual `README.md` files in each directory.

## 📬 Contact & Feedback

I welcome feedback, collaboration, or opportunities to apply these skills in real-world projects.
If you have questions about specific exercises, suggestions for improvement, or would like to connect:

[![Email](https://img.shields.io/badge/Email-Contact%20Me-blue)](mailto:jezreelmomoh1234@gmail.com)

---

**Last Updated:** May 6, 2026
**Bootcamp Period:** November–December 2025
**Status:** Complete and Production‑Ready

---