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.
- JDK 17 or higher installed
- Docker Desktop (for running PostgreSQL database)
-
Download Docker Desktop for your operating system:
-
Install Docker Desktop following the installer instructions
-
Start Docker Desktop application
-
Verify Docker is running:
docker --version
You should see output like:
Docker version 24.x.x
-
Navigate to the server directory from project root:
cd server -
Start PostgreSQL and pgAdmin containers using Docker Compose:
docker-compose up -d
The
-dflag runs containers in detached mode (background) -
Verify containers are running successfully:
docker ps
You should see two containers:
nivi_db(PostgreSQL database)nivi_admin(pgAdmin web interface)
-
Wait 10-15 seconds for PostgreSQL to fully initialize
-
Database connection details (configured in docker-compose.yml):
- Host:
localhost - Port:
5433 - Database Name:
nivi_db - Username:
myuser - Password:
mypassword
- Host:
-
Optional - Access pgAdmin web dashboard:
- Open browser and navigate to: http://localhost:5050
- Login credentials:
- Email:
admin@admin.com - Password:
admin
- Email:
- 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
- Host:
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
To stop the PostgreSQL containers:
cd server
docker-compose downTo stop and remove all data:
docker-compose down -vTo 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…