Skip to content
devyashraselaPublic

About

Decentralized financial coordination platform for co-living spaces. Eliminates payment friction through automated bill splitting, AI-powered voice assistance, and instant blockchain settlement on Algorand.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

DormPay Logo

DormPay

Next-Gen Campus Payment Infrastructure

Instant student payments, dorm settlements, and campus infrastructure built on Algorand.

MIT License Algorand Node.js React

Features • Quick Start • Tech Stack • Team


What is DormPay?

DormPay revolutionizes campus payments with blockchain technology. Split bills with roommates, track expenses in real-time, and transfer funds instantly—all secured by Algorand's Pure Proof-of-Stake consensus.

Key Features

  • Instant Transfers - Zero-latency peer-to-peer payments
  • Expense Tracking - Real-time wallet analytics and spending insights
  • Voice Alerts - AI-powered transaction notifications via ElevenLabs
  • Bill Splitting - Automated dorm and group expense distribution
  • DormDrop - Geolocation-based peer discovery for nearby transfers
  • Secure Auth - Auth0 integration with Pera Wallet support
  • AI Assistant - Gemini-powered chat for transaction help

Quick Start

Prerequisites

Make sure you have these installed:

node -v    # v18 or higher
npm -v     # v9 or higher
mysql --version  # MySQL 8.0+

1. Clone the Repository

git clone https://github.com/devyashrasela/dormpay.git
cd dormpay

2. Backend Setup

cd backend
npm install

Create .env file:

cp .env.example .env

Configure your .env:

# Server
PORT=5000
NODE_ENV=development
FRONTEND_URL=http://localhost:5173

# MySQL Database
DB_HOST=localhost
DB_PORT=3306
DB_NAME=campus_wallet
DB_USER=root
DB_PASSWORD=your_password

# Auth0
AUTH0_DOMAIN=your-domain.auth0.com
AUTH0_AUDIENCE=your-api-audience

# Algorand TestNet (defaults work)
ALGOD_SERVER=https://testnet-api.algonode.cloud
ALGOD_PORT=443
INDEXER_SERVER=https://testnet-idx.algonode.cloud
INDEXER_PORT=443

# Gemini AI
GEMINI_API_KEY=your_gemini_key

# ElevenLabs
ELEVENLABS_API_KEY=your_elevenlabs_key

# Email (optional)
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your_email@gmail.com
SMTP_PASS=your_app_password

Create database and run migrations:

mysql -u root -p
CREATE DATABASE campus_wallet;
EXIT;
npm run db:migrate
npm run dev

Backend runs on http://localhost:5000

3. Frontend Setup

Open a new terminal:

cd frontend
npm install

Create .env file:

cp .env.example .env

Configure your .env:

VITE_AUTH0_DOMAIN=your-domain.auth0.com
VITE_AUTH0_CLIENT_ID=your-client-id
VITE_AUTH0_AUDIENCE=your-api-audience
VITE_API_URL=http://localhost:5000
VITE_ALGOD_SERVER=https://testnet-api.algonode.cloud

Start the dev server:

npm run dev

Frontend runs on http://localhost:5173


Required Services

1. MySQL Database

macOS (Homebrew):

brew install mysql
brew services start mysql
mysql_secure_installation

Ubuntu/Debian:

sudo apt update
sudo apt install mysql-server
sudo systemctl start mysql
sudo mysql_secure_installation

Windows: Download from MySQL Downloads

2. Auth0 Account

  1. Sign up at auth0.com
  2. Create a new application (Single Page Application)
  3. Create an API
  4. Copy Domain, Client ID, and Audience to your .env files

3. Algorand TestNet

No setup needed! We use public nodes:

  • Algod: https://testnet-api.algonode.cloud
  • Indexer: https://testnet-idx.algonode.cloud

Get test ALGO from TestNet Dispenser

4. Gemini AI (Optional)

  1. Get API key from Google AI Studio
  2. Add to backend .env as GEMINI_API_KEY

5. ElevenLabs (Optional)

  1. Sign up at elevenlabs.io
  2. Get API key from dashboard
  3. Add to backend .env as ELEVENLABS_API_KEY

Tech Stack

Frontend

  • React 19 - UI framework
  • Vite - Build tool
  • TailwindCSS - Styling
  • Zustand - State management
  • React Router - Navigation
  • Pera Wallet - Algorand wallet integration
  • Auth0 - Authentication

Backend

  • Node.js + Express - API server
  • Sequelize - ORM
  • MySQL - Database
  • AlgoSDK - Algorand blockchain integration
  • Gemini AI - Conversational AI
  • ElevenLabs - Voice synthesis
  • Swagger - API documentation

Blockchain

  • Algorand - Layer-1 blockchain
  • Pure Proof-of-Stake - Consensus mechanism
  • TestNet - Development network

API Documentation

Once the backend is running, visit:

http://localhost:5000/api/docs

Interactive Swagger UI with all endpoints documented.


Project Structure

dormpay/
├── backend/
│   ├── src/
│   │   ├── config/         # Configuration files
│   │   ├── controllers/    # Route controllers
│   │   ├── middleware/     # Auth & validation
│   │   ├── models/         # Sequelize models
│   │   ├── routes/         # API routes
│   │   ├── utils/          # Helper functions
│   │   └── server.js       # Entry point
│   ├── .env.example
│   └── package.json
│
├── frontend/
│   ├── src/
│   │   ├── api/            # Axios config
│   │   ├── assets/         # Images & icons
│   │   ├── components/     # React components
│   │   ├── hooks/          # Custom hooks
│   │   ├── pages/          # Page components
│   │   ├── store/          # Zustand stores
│   │   ├── utils/          # Utilities
│   │   ├── App.jsx
│   │   └── main.jsx
│   ├── .env.example
│   └── package.json
│
└── README.md

Screenshots

Landing Page

Modern, high-octane design showcasing DormPay's capabilities

Dashboard

Real-time wallet balance, transaction history, and analytics

Bill Splitting

Effortless group expense management with automated distribution

AI Chat Assistant

Gemini-powered conversational interface for transaction help


Team


Contributing

We welcome contributions! Feel free to:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.


Acknowledgments

  • Built at AceHack 5.0
  • Powered by Algorand Foundation
  • Voice by ElevenLabs
  • AI by Google Gemini
  • Auth by Auth0

Made with love by ZeroLag

Back to Top

About

Decentralized financial coordination platform for co-living spaces. Eliminates payment friction through automated bill splitting, AI-powered voice assistance, and instant blockchain settlement on Algorand.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages