Projects
Technologies: React.js, Node.js, Express, Docker
The open-source web-based code execution platform with a client-server architecture that provides
secure, containerized code execution.
Technologies: Node.js, Express.js, MongoDB, Redis, SHA1, Base64
A simple file management API in express (Node).
This project is a File Management API built using Node.js, Express, MongoDB, and Redis. It provides
functionality for user authentication, file management (uploading, retrieving, and managing files
and folders), and background processing using Bull for tasks such as generating thumbnails for
images and sending welcome emails to new users.
Technologies: Ruby on Rails, HTML, CSS, JavaScript, PostgreSQL
This project involved building a dynamic web application using Ruby on Rails for backend development,
paired with Tailwind CSS for a modern and responsive front-end. The application is designed to serve
as a comprehensive quiz platform, allowing teachers to create quizzes, and enabling students to
attempt them, with a gamified experience that includes a point system and leaderboards. Key features
include Devise for secure user authentication, role-based access control for students and teachers,
and a seamless user interface. This project challenged and expanded my skills in full-stack
development, reinforcing my understanding of Rails and Tailwind CSS, and ultimately delivering a
functional and engaging educational tool.
Technologies: JavaScript, MDX, CSS, HTML
An open-source block-based programming language for tomorrow's developers.
Technologies: Ruby on Rails, SQLite, ERB, HTML, CSS, JavaScript
This project involved building a robust web application using Ruby on Rails for backend development
and Bootstrap for front-end styling. The application includes Devise for user authentication,
ensuring secure access for different user roles such as students, teachers, and parents. Key
features implemented in this project include student management, attendance tracking, and a
responsive UI. Throughout the project, I guided students in understanding the principles of web
development, enhancing their skills in both Ruby on Rails and Bootstrap, and fostering a hands-on
learning experience. This project serves as a comprehensive platform for managing school operations,
demonstrating the collaborative effort and technical proficiency of the students under my
mentorship.
Technologies: Python, HTML, CSS, JavaScript
In collaboration with Tg Gemedi from Ethiopia and Tony Ntahe from Rwanda, I had the opportunity to
contribute to an exciting project: the AirBnB Clone. Our initial focus was on building a command
interpreter, drawing inspiration from the Monty 0.98 bytecode interpreter used in the ALX Holberton
Software Engineering program. This interpreter plays a crucial role in managing various AirBnB
objects, including User, State, City, and Place. The project involved creating a parent class,
BaseModel, to handle initialization, serialization, and deserialization of instances. We established
a seamless flow for serialization/deserialization, allowing us to work effortlessly with objects in
JSON format. Furthermore, we implemented specific classes for each AirBnB object, developing an
abstracted storage engine with a focus on file storage. This laid the groundwork for subsequent
tasks, such as HTML/CSS templating, database storage, and front-end integration. The command
interpreter, akin to a specialized Shell, enables the creation, retrieval, updating, and destruction
of AirBnB objects, setting the stage for an innovative web application.
Technologies: C
Monty is a scripting language that undergoes compilation into Monty bytecodes, similar to Python. The
language operates on a distinctive stack, employing specific instructions for manipulation. Files
containing Monty bytecodes conventionally carry the .m extension. Although not mandatory by the
language specification, this extension is widely adopted in the industry. The language enforces a
one-instruction-per-line rule, allowing any number of spaces before or after the opcode and its
corresponding argument.
Technologies: WordPress
#
Technologies: C
This is a shell project written in C programming language, completed by myself and Ebimoboere
Claudius from Nigeria as part of the ALX Holberton Software Engineering program. The project
involved designing and implementing a command-line interface that mimics the functionality of a Unix
shell. The shell supports various commands and features commonly found in Unix-based systems, such
as piping, input/output redirection, and background processes. The code is well-organized, modular,
and adheres to industry-standard coding practices. In addition to the core features, we also
implemented several additional features, such as error handling, signal handling, and built-in
commands.
Technologies: C
This project involved designing and implementing a custom printf function in the C programming
language, completed by myself and Matlotlo Makomane from South Africa as part of the ALX Holberton
Software Engineering program. The printf function is a fundamental tool for printing output in C,
and our project aimed to replicate its functionality while also adding additional features and
improvements. Our implementation supports various format specifiers, including strings, characters,
integers, and floating-point numbers, as well as flags such as width and precision. The code is
well-organized and adheres to industry-standard coding practices. We also implemented extensive
testing to ensure the function's accuracy and reliability.
Technologies: HTML/CSS, React, Rails
This is a web-based application platform designed to simplify the process of applying to institutions
of higher learning for learners from Eswatini. The platform provides a centralized hub where
learners can search for and apply to multiple institutions using a single application. This
eliminates the need for learners to navigate through multiple application portals, saving time and
reducing the risk of errors. The platform features an intuitive user interface that makes it easy
for learners to explore available options and apply to their preferred institutions. Additionally,
the platform provides resources and guidance to help learners navigate the application process,
including information on admission requirements, deadlines, and fees.
Technologies: HTML/CSS, jQuery (Mobile)
This is a comprehensive educational app designed to provide students of all ages with easy access to
a wide range of learning resources. The app features interactive tutorials, quizzes, and study
materials that cover a diverse range of subjects and topics, from math and science to history and
literature. The app's user interface is intuitive and user-friendly, making it easy for students to
navigate and find the resources they need. The app is regularly updated with new content and
features, ensuring that students always have access to the latest and most relevant educational
resources.
Technologies: FPT, PRG
This is a computer programming language for building GUIs and interface database systems for the MS
Windows platform. You can write instructions to the interpreter using plain English and SiSwati. You
can clone the project and read the full documentation.
Mini Projects
Intro to (Emacs, Vim, Git/GitHub), C
(Basics,
Functions, Pointers, Data
Structures, Bit Manipulation, Variadic Functions, Memory Management, File Redirection, printf
(Project), Shell
(Project),
Compilation, Heap/Stack,
Static Libraries, Linux (Basics, Permissions, Redirections, Syscalls), Social
Media, Public Speaking/Stand ups, etc.
Python
(Basics,
Object-Oriented Programming, Interpreted Languages, Test Driven Development, Error Handling, I/O, Web Scraping), C - Data Structures (Stacks/Queues, Doubly Linked Lists, Hash Tables, Binary
Trees), C - Algorithms (Sorting, Big
O), C - Dynamic Libraries, Linux (Processes and Signals, Scripting, Command Line), Databases
(SQL, MySQL), Systems Engineering (Open Systems Interconnection Model, TCP/IP), HTML, CSS, JSON, Unit Testing.
Systems
Engineering/Devops (SSH, SSL/TLS, HTTP/S, Webstack
Debugging, Servers, Web Servers (Nginx), Application Servers (Gunicorn),
Configuration Management (Puppet), Load Balancers,
Postmortem, Networking,
Monitoring), C - Algorithms (Searching), Javascript, JQuery, Deployment, APIs -
Flask, Hack Days, Python (ORMs (SQLAlchemy, Templating (Jinja2))),
Code Debugging, Regexes
Modern
JavaScript (ES6, TypeScript, Node JS basic,
Unittests), Python (Variable
annotations, Async, Unittests and integration tests), Storage (Advanced
MySQL,
NoSQL, Redis), Back-end (Pagination, Caching, i18n, Queuing
system in JS), User Data (Personal data, Authentication - Basic & Session, User
authentication), Portfolio
project, ES6 Basics, Markdown to
HTML, Webpack, ES6 Promises,
Developer tools, React intro, ES6 classes, ES6 data manipulation,
React component, Typescript, React inline styling, React state,
React Immutable, React Redux action
creator+normalizr, React Redux reducer+selector, React props, React Redux Connectors and
Providers