Skip to content
View JamesWainaina's full-sized avatar

Highlights

  • Pro

Block or report JamesWainaina

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
JamesWainaina/README.md

💫 About Me:

  • 🌱 Graduate of Software Engineering from The African Leadership University.
  • 📫 How to reach me: [email protected]
  • ⚡ Fun fact: comfort is the enemy of progress.

🌐 Socials:

Linkedin LinkedIn  

💻 Tech Stack:

CSS3 Python Flask JavaScript React HTML5 Bootstrap AWS Postman MongoDB MySQL PostgreSQL Axios Docker JUnit5 Nginx Java Spring Spring Boot Appwrite Chart.js Firebase Node.js TypeScript Next JS

💼 Projects:

These are some of the projects I have been working on

  • Click on the names to see the deployed versions
  • Description:
  • This modern banking web application enables users to manage their finances across multiple banks in one place seamlessly. It provides a secure and user-friendly interface for tracking balances, transactions, and transfers, offering a centralized hub for managing personal or business finances. Built using Next.js for server-side rendering and efficient routing, ReactJS for a dynamic and responsive user interface, and MongoDB for scalable, high-performance data storage, the application ensures fast and reliable access to financial data. The platform emphasizes user experience, security, and efficiency, providing a comprehensive solution for multi-bank account management

Tech Stack

  • TypeScript
  • Appwrite
  • Chart.js
  • Next JS
  • Description:

    I developed a dynamic website for a construction company to showcase their services, projects, and company profile. The website provides an interactive, visually appealing platform for potential clients to explore the company’s portfolio, view completed projects, and learn about the range of services offered. Built with TypeScript for type safety and robust application architecture, and powered by Next.js for optimized performance, server-side rendering, and smooth navigation, the website ensures a fast and seamless user experience. The design emphasizes a professional, user-friendly interface with responsive layouts, making it easy for visitors to browse the company’s work on any device. This solution helps the construction company improve its online presence, engage potential clients, and highlight its expertise in the industry.

Tech Stack

  • TypeScript
  • Next JS
  • Description: BillNasi is an advanced and easy-to-use ISP management application designed to simplify the control of your network operations. Built with seamless integration for MikroTik routers, BillNasi provides a centralized dashboard to manage Hotspot and PPPoE clients, track real-time data usage, monitor revenues, and generate comprehensive statistics. With features such as instant reconnections, SMS alerts, and a reliable 99% uptime, BillNasi ensures a smooth and effective user experience for both ISPs and their clients.

Key Features

  • Unified Dashboard: Manage both Hotspot and PPPoE configurations from one user-friendly interface, eliminating the need for multiple platforms.
  • Unlimited Router Support: BillNasi allows you to control and manage multiple MikroTik routers from one place.
  • Instant Client Reconnection: Experience real-time reconnection for clients without delays or service interruptions.
  • Automated SMS Alerts: Keep clients informed with instant SMS notifications for important events like reconnections, data usage limits, or service disruptions.
  • Real-Time Analytics: Track data usage, revenue, and network statistics in real time to make data-driven decisions that improve performance and profitability.
  • Reliable Uptime: With a consistent 99% uptime and regular system upgrades, BillNasi ensures that your network management tools are always accessible when you need them.

Tech Stack

  • React
  • JavaScript
  • Description: MedDrone: Revolutionizing Medicine Delivery via Drones MedDrone is an innovative RESTful API designed to manage the entire lifecycle of drone-based medicine delivery systems. With MedDrone, healthcare providers can harness the power of autonomous drones to deliver life-saving medications with speed, accuracy, and reliability—especially in remote or hard-to-reach areas. Our API offers seamless management of the drone fleet, real-time tracking, and optimized delivery routes to ensure efficient and timely deliveries. By integrating cutting-edge technology, MedDrone not only enhances the logistics of medicine distribution but also helps reduce response times in emergencies, potentially saving countless lives.

Tech Stack

  • Java
  • Spring Boot
  • Description: is a Spring Boot-based application that integrates with Keycloak to provide secure, robust, and easy-to-manage authentication and authorization for users. This project demonstrates how to use Keycloak for identity and access management in a Spring Boot application, covering configuration, integration, and usage of OAuth2 and OpenID Connect protocols for seamless security management.

Features

  • Keycloak Integration: Secure user authentication and role-based access control (RBAC) with Keycloak.
  • OAuth2/OpenID Connect: Leverage OAuth2 and OIDC for standardized, secure communication.
  • Role-Based Access Control: Enforce access control based on user roles defined in Keycloak.
  • Spring Boot: Built using the powerful Spring Boot framework for a fast, scalable, and modular solution.
  • REST API Security: Protect REST endpoints using Keycloak authorization.
  • Configurable Security: Easily configure Keycloak using Spring Boot's configuration properties.

Tech Stack

  • Spring
  • Spring Boot
  • Description: This multi-threaded TCP server handles concurrent client connections and efficiently performs string searches within large files. The server can read configuration files to dynamically locate a file path and check if a specified string exists in that file. The system is optimized for performance and includes security features like SSL authentication for encrypted communication.

Features

  • Multi-threading Support: Handles a large number of concurrent client requests in parallel.
  • String Search: Searches for an exact match of a string in a file, ensuring full line matches (not partial).
  • Optimized Search: Configurable behavior to either re-read the file on every query (REREAD_ON_QUERY=True) or read it once at startup (REREAD_ON_QUERY=False).
  • Large File Handling: Supports large files (up to 250,000 lines) with optimized search algorithms.
  • SSL Authentication: Secure communication between the server and client using SSL (configurable to enable/disable).
  • Logging and Debugging: Includes detailed logging for performance monitoring, such as query strings, timestamps, and execution times.
  • Security: Protections against buffer overflows and other potential security issues.

Tech Stack

  • Python
  • Nginx
  • MySQL
  • SSL/TLS: Secure communication between clients and the server.
  • Description: The Terminal Screen Project simulates rendering operations on a terminal-based screen using a custom binary protocol. This project involves a server-client setup where the server listens for commands related to screen rendering, and the client sends commands to the server to manipulate the terminal screen.

The communication between the client and the server is based on a byte-stream protocol, with each command being formatted as a sequence of bytes. The system supports various operations, such as setting up the screen, drawing characters, and lines, rendering text, moving the cursor, and more.

Features

Features

  • Screen Setup (0x1): Configure screen dimensions and color modes.
  • Draw Character (0x2): Place characters at specific coordinates.
  • Draw Line (0x3): Draw lines between two coordinates using a specified character.
  • Render Text (0x4): Render a string at a specified position.
  • Cursor Movement (0x5): Move the cursor to a specific location.
  • Draw at Cursor (0x6): Draw a character at the current cursor position.
  • Clear Screen (0x7): Clear the screen.
  • End of File (0xFF): Marks the end of the binary stream.

Tech Stack

  • Java

📊 GitHub Stats:



✍️ Random Dev Quote

🔝 Top Contributed Repo


Popular repositories Loading

  1. skills-introduction-to-github skills-introduction-to-github Public

    My clone repository

    1

  2. skills-communicate-using-markdown skills-communicate-using-markdown Public

    My clone repository

    1

  3. skills-github-pages skills-github-pages Public

    My clone repository

    1

  4. skills-review-pull-requests skills-review-pull-requests Public

    My clone repository

    HTML 1

  5. Math-problem Math-problem Public

  6. Hello_World Hello_World Public