Skip to content

Repository files navigation

Zone01 Software Engineering Portfolio

A curated collection of software engineering projects completed during my training at Zone01 Kisumu. This repository demonstrates my growth from algorithmic problem solving to designing and building full-stack web applications using Go.


About

This repository serves as my engineering portfolio, bringing together the projects I built throughout the Zone01 curriculum.

The projects cover a broad range of software engineering topics including:

  • Backend Development
  • Web Applications
  • RESTful Services
  • Authentication & Authorization
  • Middleware
  • Algorithms & Data Structures
  • Docker & Containerization
  • Database Design
  • Real-time Communication
  • Testing
  • Software Architecture

Each project introduced new engineering concepts and progressively increased in complexity.


Technology Stack

Backend

  • Go
  • HTTP
  • REST Principles
  • SQLite
  • WebSockets

Frontend

  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • Next.js

DevOps

  • Docker
  • Docker Compose
  • Git

Software Engineering

  • Unit Testing
  • Repository Pattern
  • Middleware
  • Authentication
  • Session Management
  • File Uploads
  • Database Migrations

Featured Projects

Project Description Technologies
Social Network A full-stack social networking platform supporting authentication, profiles, posts, comments, groups, private messaging, notifications, follows, and real-time chat. Go, Next.js, SQLite, WebSockets, Docker
Forum A community discussion platform with user authentication, posts, comments, reactions, filtering, categories, and file uploads. Go, SQLite, HTML Templates, Docker
Groupie Tracker Web application for exploring music artists using external APIs and dynamic rendering. Go, HTML Templates
ASCII Art Web Web application that converts text into ASCII art using multiple banner styles. Go, HTML Templates
ASCII Art Web (Docker) Dockerized deployment of the ASCII Art web application. Go, Docker
ASCII Art Command-line ASCII art generator. Go
Push Swap Optimized stack-based sorting algorithm using a restricted instruction set. Go, Algorithms
Tetris Optimizer Solver that computes the smallest board capable of fitting a collection of tetrominoes. Go, Backtracking
Go Reloaded Text transformation engine implementing custom parsing and formatting rules. Go
My LS Recreation of the Unix ls command. Go
Git Shell scripting exercises for learning Git and Unix utilities. Bash

Repository Structure

01-projects/
│
├── social-network/
├── forum/
├── groupie-tracker/
├── ascii-art/
├── ascii-art-web/
├── ascii-art-web-dockerize/
├── push-swap/
├── tetris-optimizer/
├── go-reloaded/
├── my-ls-1/
├── git/
└── README.md

Project Highlights

Social Network

A production-style social networking application built with a layered backend architecture.

Features

  • User registration
  • Login & Authentication
  • User Profiles
  • Follow System
  • Posts
  • Comments
  • Groups
  • Notifications
  • Private Messaging
  • Real-time Chat
  • WebSockets
  • File Uploads
  • Database Migrations
  • Dockerized Deployment

Forum

A complete discussion platform implementing modern backend practices.

Features

  • Authentication
  • Session Management
  • Categories
  • Posts
  • Comments
  • Likes & Dislikes
  • Middleware
  • File Uploads
  • SQLite
  • Docker

Algorithms & Systems Programming

Projects focusing on computational thinking and optimization.

  • Push Swap
  • Tetris Optimizer
  • My LS
  • ASCII Art
  • Go Reloaded

Topics covered include:

  • Sorting Algorithms
  • Backtracking
  • Stack Manipulation
  • Parsing
  • File Systems
  • String Processing
  • Complexity Analysis

Web Development

Projects introducing HTTP servers and server-side rendering.

  • ASCII Art Web
  • Groupie Tracker

Topics covered:

  • HTTP
  • Routing
  • Templates
  • Forms
  • Static Assets
  • API Consumption

Skills Demonstrated

Backend Development

  • Go
  • HTTP Servers
  • REST Principles
  • Authentication
  • Authorization
  • Middleware
  • WebSockets
  • Session Management
  • Repository Pattern

Database

  • SQLite
  • SQL
  • Database Migrations

Frontend

  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • Next.js

DevOps

  • Docker
  • Docker Compose
  • Git

Computer Science

  • Algorithms
  • Data Structures
  • Parsing
  • Backtracking
  • Stack Operations
  • File Systems

Testing

  • Unit Testing
  • Handler Testing
  • Repository Testing

Learning Journey

The projects in this repository reflect my progression as a software engineer.

Beginning with command-line applications and algorithmic challenges, I gradually advanced to building HTTP servers, implementing authentication systems, designing layered backend architectures, and developing full-stack web applications with real-time communication.

Each project reinforced software engineering principles such as clean code, modular design, testing, debugging, and iterative problem solving.


Future Improvements

As I continue growing as a backend engineer, I plan to:

  • Improve test coverage across projects
  • Refactor older projects using cleaner architectures
  • Introduce CI/CD pipelines
  • Expand API documentation
  • Deploy selected projects to cloud platforms
  • Enhance observability through structured logging and monitoring

Author

Evans Juma

Backend Software Engineer

GitHub: https://github.com/eojuma

About

A collection of software engineering projects completed during my training at Zone01 Kisumu. This repository showcases my progression from algorithmic problem solving and command-line applications to building full-stack web applications and backend systems using Go. The projects cover backend development, web technologies, authentication, databases

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages