Skip to content

The first legal mediation platform designed specifically for co-parents. It enables them to settle child support matters post-divorce without court involvement to save money and time.

Notifications You must be signed in to change notification settings

towaquimbayo/KindSettle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Visitor Badge

KindSettle

KindSettle Thumbnail An innovative legal mediation platform tailored for co-parents. It facilitates the resolution of child support matters post-divorce, eliminating the need for court involvement, thus saving time and money.

Important

Due to production issues on Couchbase's side, the database in production is currently not functioning. However, the database works correctly in the local development environment. We are actively working to resolve this issue and restore full functionality.

Check out the live project here.

Table of Contents

Screenshots

Signup Page Home Page
Signup Page Home Page
Alimony Calculator Page Alimony Claim Page
Alimony Calculator Page Alimony Claim Page
Alimony Review Claim Page Alimony Claim Completion Page
Alimony Review Claim Page Alimony Claim Completion Page

Acknowledgements

Contributors

Technologies

  • React.js v18.3.1
  • CSS3
  • React Helmet v6.1.0
  • React Redux v9.1.2
  • Redux v5.0.1
  • Redux-Thunk v3.1.0
  • Couchbase v4.3.1
  • Express v4.18.2
  • JWT Authentication v9.0.0
  • Node.js
  • Nodemailer v6.9.13
  • Nodemon v2.0.20
  • Ottoman v2.4.0
  • TypeScript v4.9.4
  • Zod v3.20.2

Usage

Prerequisites

Prerequisites

Installation

Installation

  1. Install the latest npm package version.
npm install npm@latest -g
  1. Clone the repository to your local machine.
git clone https://github.com/towaquimbayo/KindSettle.git
  1. Installing required dependencies requires Node and npm.

Change the directory to Frontend and install dependencies:

cd frontend
npm install

Change the directory to Backend and install dependencies:

cd backend
npm install
Environment Variables Setup

Environment Variables Setup

For the project to run correctly, environment variables are required only for the backend directory. Rename the .env.example to .env.

  1. JWT_SECRET is the encryption key to sign your JWTs (JSON Web Tokens). Create a secret at https://www.allkeysgenerator.com.
  2. JWT_LIFETIME is the amount of time a particular JWT will be valid for (i.e. 30d for 30 days).
  3. Sign up for a free Couchbase account, if you don't have any. Create a new Cluster and connect to it by copying the URI to CB_URI and filling in your CB_USERNAME, CB_PASSWORD, and CB_BUCKET credentials by following the documentation at https://docs.couchbase.com/nodejs-sdk/current/howtos/managing-connections.html.
  4. Either enter your email account credentials for the Nodemailer transporter credentials or create a Gmail account to generate an App Password by following the instructions at https://medium.com/@y.mehnati_49486/how-to-send-an-email-from-your-gmail-account-with-nodemailer-837bf09a7628.
Run The App

Run The App

In order to run the application, you would need the client (frontend) and server (backend) running concurrently in different terminal sessions.

Client-Side Usage (Frontend) on PORT: 3000

Change the directory to the client (frontend) and execute npm start to run locally in development mode or production mode. For production, make sure to build the app to the build folder by executing npm run build as this would correctly bundle React in production mode and optimize the build for the best performance.

cd frontend
npm start

Server-Side Usage (Backend) on PORT: 8080

Change the directory to the server (backend) and execute npm run dev to run locally in development mode or execute npm start to run in production mode. For production, make sure to build the app to the dist folder by executing npm run build as this would correctly compile TypeScript code to ES5 JavaScript codes and optimize the build for the best performance.

cd backend
npm run dev   // running locally in development mode
npm run start // running in production mode

Features

User Authentication

Our authentication system ensures secure access to the application using JSON Web Tokens (JWT). Users can sign up and log in with a simple system requiring standard information: name, email, and password. Although we do not have a profile management system yet, our current setup provides robust security and session management.

  • Secure Authentication: Implemented with JWT for secure authentication and session management.
  • Signup and Login: Simple registration process and login system requiring name, email, and password.
  • Session Management: Effective management of user sessions for security and ease of use.

Alimony Calculator

Estimate your potential alimony payments with ease and accuracy using our simple calculator. By entering your monthly pay, co-parent's monthly pay, number of children, and percentage of time with children, the calculator provides a reliable estimate of your alimony payments. Our system is based on the income shares model, ensuring fair and accurate calculations. For more information on how child support is calculated, you can refer to this resource here.

  • Income Shares Model: Based on a widely used model in the United States (US) for accurate calculations.

Alimony Claims System

Manage your alimony claims efficiently with our comprehensive alimony claims system. Users can add, edit, and view their alimony claims seamlessly. The claim creation process involves a series of form steps to enter personal information, co-parent information, number of children, monthly net income, and more. After you file your half of the claim, your co-parent is required to sign up and complete their half. Once both halves are submitted, the claim can be viewed and finalized.

  • Claim Management: Add, edit, and view alimony claims.
  • Collaborative Filing: Both parties must complete their halves of the claim for submission to ensure the information is verified and correct.
  • Review and Submit: Claims can be reviewed and finalized once both parties have submitted their information.

Awards

KindSettle has received significant recognition for its impact and innovative use of technology. At the Beeloud & Build AI Hackathon, we were honoured with the following awards:

  • 🏆1st Place Certification for "Most Impactful": Our project stood out for its potential to make a meaningful difference in the lives of co-parents, simplifying legal mediation and reducing the need for court involvement.
  • 🏆1st Place Certification for "Best Use of Couchbase Database": By leveraging Couchbase, we efficiently managed and stored data, showcasing our effective use of this powerful technology, earning us a $1,000 prize. Couchbase, one of the event's sponsors, acknowledged our exceptional implementation of their database solutions.

These awards reflect our commitment to creating a high-impact, user-friendly platform using cutting-edge technologies.

For more details, you can read the full article on Couchbase's blog here and our Devpost submission here.

About

The first legal mediation platform designed specifically for co-parents. It enables them to settle child support matters post-divorce without court involvement to save money and time.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •