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.
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.
- Go
- HTTP
- REST Principles
- SQLite
- WebSockets
- HTML
- CSS
- JavaScript
- TypeScript
- Next.js
- Docker
- Docker Compose
- Git
- Unit Testing
- Repository Pattern
- Middleware
- Authentication
- Session Management
- File Uploads
- Database Migrations
| 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 |
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
A production-style social networking application built with a layered backend architecture.
- User registration
- Login & Authentication
- User Profiles
- Follow System
- Posts
- Comments
- Groups
- Notifications
- Private Messaging
- Real-time Chat
- WebSockets
- File Uploads
- Database Migrations
- Dockerized Deployment
A complete discussion platform implementing modern backend practices.
- Authentication
- Session Management
- Categories
- Posts
- Comments
- Likes & Dislikes
- Middleware
- File Uploads
- SQLite
- Docker
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
Projects introducing HTTP servers and server-side rendering.
- ASCII Art Web
- Groupie Tracker
Topics covered:
- HTTP
- Routing
- Templates
- Forms
- Static Assets
- API Consumption
- Go
- HTTP Servers
- REST Principles
- Authentication
- Authorization
- Middleware
- WebSockets
- Session Management
- Repository Pattern
- SQLite
- SQL
- Database Migrations
- HTML
- CSS
- JavaScript
- TypeScript
- Next.js
- Docker
- Docker Compose
- Git
- Algorithms
- Data Structures
- Parsing
- Backtracking
- Stack Operations
- File Systems
- Unit Testing
- Handler Testing
- Repository Testing
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.
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
Evans Juma
Backend Software Engineer
GitHub: https://github.com/eojuma