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.
Signup Page | Home Page |
Alimony Calculator Page | Alimony Claim Page |
Alimony Review Claim Page | Alimony Claim Completion Page |
- Towa Quimbayo GitHub LinkedIn
- Noufil Saqib GitHub LinkedIn
- Anitha Amarnath GitHub LinkedIn
- Antanas Dapkus LinkedIn
- Antoni Ngo LinkedIn
- 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
Installation
- Install the latest npm package version.
npm install npm@latest -g
- Clone the repository to your local machine.
git clone https://github.com/towaquimbayo/KindSettle.git
- 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
For the project to run correctly, environment variables are required only for the backend directory. Rename the .env.example
to .env
.
JWT_SECRET
is the encryption key to sign your JWTs (JSON Web Tokens). Create a secret at https://www.allkeysgenerator.com.JWT_LIFETIME
is the amount of time a particular JWT will be valid for (i.e.30d
for 30 days).- 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 yourCB_USERNAME
,CB_PASSWORD
, andCB_BUCKET
credentials by following the documentation at https://docs.couchbase.com/nodejs-sdk/current/howtos/managing-connections.html. - 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
In order to run the application, you would need the client (frontend) and server (backend) running concurrently in different terminal sessions.
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
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
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.
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.
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.
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.