So, the Genesis Insurance project is basically a full-fledged web application built using the MERN stack, which means MongoDB, Express, React, and Node.js. The main idea behind the project is to create a user-friendly insurance platform where users can browse different insurance policies—like life, health, or transport insurance—apply for them, and track their policies and claims.

On the frontend side, it's all React. You've got a bunch of routes set up—so when a user goes to different pages like the home page, their profile, or specific policy forms, React handles all that navigation smoothly. Redux is used for managing state—especially to keep track of who’s logged in and what their role is, like whether they're just a regular user or an admin.

On the backend, we have Node.js and Express handling all the API requests. It’s a RESTful API that talks to a MongoDB database where all the user info, policies, and claims are stored. There’s also JWT authentication in place, so each user gets a token when they log in, and that’s how we keep everything secure.

We also integrated a payment system using PayPal’s SDK. After a user applies for a policy, they can make payments right through the app. On the admin side, there are dashboards that let administrators manage these policies, view statistics, and handle user queries or claims.

In summary, it’s a full-stack project that covers everything from user authentication to policy management and payments. We deployed the frontend on Vercel and the backend using Docker on a service like Render, and we used MongoDB Atlas for the database. It’s a nice, practical example of a modern MERN application that handles a real-world use case.

Genesis Insurance Architecture Overview

1. Frontend (React + Redux):

The frontend is a React single-page application. It uses React Router for navigation, so each part of the app—like the home page, profile, policy forms, and admin dashboards—is a different route. We’re using Redux to manage the global state, especially for things like user authentication and role-based access. So when a user logs in, their role is stored in Redux and that helps decide what parts of the UI they can see.

2. Backend (Node.js + Express):

On the backend, we have an Express server that defines a set of RESTful APIs. These APIs handle everything from user authentication to policy management and claims processing. We use MongoDB as our database, with Mongoose as the ORM to structure our data. That means all the user info, policies, and claims are stored in a flexible, document-based format.

3. Authentication and Security:

We use JWT (JSON Web Tokens) for authentication. When a user logs in, they get a token that they send with each request to access protected routes. We also have some CSRF protection in place, so the backend issues a CSRF token that the frontend includes in requests to make sure everything is secure.

4. Payments and Admin Features:

We integrated PayPal for payments. After a user applies for a policy, they can pay directly through PayPal, and the backend confirms the payment and updates the policy status. On the admin side, we have dashboards that let admins see statistics, manage policies, and handle user queries or claims.


In short, it’s a modern MERN architecture: React and Redux on the frontend for a dynamic user experience, Node.js and Express on the backend for the API logic, MongoDB for the database, and JWT for secure authentication. It’s all deployed in a cloud-friendly way with Vercel for the frontend and Docker/Render for the backend.