Skip to content

Rohit-554/Nivi_Full_Stack_KMM

Repository files navigation

Project NIVI

A financial intelligence application In Progress , fully developed using CMP & KTOR, designed to bridge the gap between daily expenses and future wealth. Unlike simple trackers, Nivi uses a "Desi" storytelling approach to teach users about investable surplus and compounding.

Demo

image image image Screenshot_20260220_231108 Screenshot_20260220_231052

Build and Run Server

Prerequisites

  • JDK 17 or higher installed
  • Docker Desktop (for running PostgreSQL database)

Step 1: Install Docker Desktop

  1. Download Docker Desktop for your operating system:

  2. Install Docker Desktop following the installer instructions

  3. Start Docker Desktop application

  4. Verify Docker is running:

    docker --version

    You should see output like: Docker version 24.x.x

Step 2: Setup PostgreSQL Database

  1. Navigate to the server directory from project root:

    cd server
  2. Start PostgreSQL and pgAdmin containers using Docker Compose:

    docker-compose up -d

    The -d flag runs containers in detached mode (background)

  3. Verify containers are running successfully:

    docker ps

    You should see two containers:

    • nivi_db (PostgreSQL database)
    • nivi_admin (pgAdmin web interface)
  4. Wait 10-15 seconds for PostgreSQL to fully initialize

  5. Database connection details (configured in docker-compose.yml):

    • Host: localhost
    • Port: 5433
    • Database Name: nivi_db
    • Username: myuser
    • Password: mypassword
  6. Optional - Access pgAdmin web dashboard:

    • Open browser and navigate to: http://localhost:5050
    • Login credentials:
      • Email: admin@admin.com
      • Password: admin
    • To connect to database in pgAdmin:
      • Right-click Servers > Register > Server
      • General tab: Name = Nivi DB
      • Connection tab:
        • Host: postgres_db
        • Port: 5432
        • Database: nivi_db
        • Username: myuser
        • Password: mypassword

Step 3: Run the Ktor Server

Navigate back to the project root directory if you're still in the server folder:

cd ..

Then run the server:

  • on macOS/Linux
    ./gradlew :server:run
  • on Windows
    .\gradlew.bat :server:run

The server will start on http://localhost:8080

Expected output on successful startup:

Database connected successfully to Docker Postgres!
Application started: http://localhost:8080

Step 4: Stop the Database

To stop the PostgreSQL containers:

cd server
docker-compose down

To stop and remove all data:

docker-compose down -v

Build and Run iOS Application

To build and run the development version of the iOS app, use the run configuration from the run widget in your IDE’s toolbar or open the /iosApp directory in Xcode and run it from there.


Learn more about Kotlin Multiplatform

About

A fullStack KMM Application

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors