A website aimed at curbing poverty and Joblessness in Kenya
# JIRA YANGU
A website based on helping to solve the issue of unemployment and poverty in Kenya.
---
## Project Overview
JiraYangu is a modern, full-stack web application built to provide career development and economic empowerment tools. The platform features a Job Board, Courses & CV Builder, Marketplace with M-Pesa Escrow, and Mentorship & Reports, all accessible through a clean, modular, and maintainable React frontend.
## Migration: From Static HTML to React
Originally, the project used static HTML and CSS files for each page. To modernize the codebase and enable a scalable, maintainable, and interactive user experience, the frontend was rebuilt using React (JavaScript):
- **Component-Based Structure:** Each feature (Job Board, Courses, Marketplace, Mentorship, Profile) is now a React component or page, making the code modular and reusable.
- **Routing:** React Router is used for seamless navigation between pages, replacing static HTML links.
- **State Management:** React's state and context APIs manage user authentication, interactivity, and data flow.
- **Styling:** Modern CSS (with gradients, shadows, and responsive layouts) replaces old static styles, providing a consistent and visually appealing UI.
- **Mock Data:** During frontend development, mock data and interactivity were used to simulate real features before backend integration.
## How JavaScript and React Work in This Project
- **JavaScript** is the core programming language, powering all logic, interactivity, and data handling in the frontend.
- **React** is a JavaScript library for building user interfaces. It allows the UI to be broken into components, each managing its own state and rendering efficiently when data changes.
- **React Context** is used for global state, such as authentication (login/logout, user info), so all parts of the app can access user state.
- **Protected Routes:** Only logged-in users can access main features. React Router and context work together to redirect unauth …