US-Nepal Hackathon
Echo is an anonymous community platform for diaspora users to share emotional experiences and connect through emotion-aware matching.
- Frontend: React, TypeScript, Vite
- Backend: Node.js, Express, TypeScript
- Database: PostgreSQL
- ORM: Prisma
- Matching: pgvector + embeddings
- Divas KC
- Jasmine Jirel
- Prashant Shah
- Nabin Sademba
- Live Link: https://staging.dbq22v3fz49mz.amplifyapp.com/
- Drive Link: https://drive.google.com/drive/folders/19CXaawSNCyipmgB-rdYka55ncoLu-xP4?usp=drive_link
- Node.js 22+
- npm
- Docker Desktop (or Docker Engine + Compose)
cd server && npm install
cd ../client && npm installBackend:
cd server
cp .env.example .envFor local development:
DATABASE_URL=postgresql://echo:echo@localhost:5433/echoCORS_ORIGIN=http://localhost:5173
Frontend:
cd client
cp .env.example .envFor local development:
VITE_API_BASE_URL=http://localhost:3001
cd server
docker compose up -d dbcd server
npx prisma migrate deploy
npm run devcd client
npm run devLocal URLs:
- Frontend:
http://localhost:5173 - Backend health:
http://localhost:3001/health
The backend seed script creates:
- 40 persistent users
- 40 stories (1 per user)
- a credentials CSV for login testing
Important: seeding is destructive for app data. It clears Message, Conversation, ChatRequest, Story, and User before inserting fresh data.
cd /opt/echo/server
sudo docker compose -f docker-compose.deploy.yml exec -T api node dist/prisma/seed.jsCopy generated credentials to host:
API_CID=$(sudo docker compose -f /opt/echo/server/docker-compose.deploy.yml ps -q api)
sudo docker cp "$API_CID:/app/prisma/seed-users-credentials.csv" /opt/echo/server/seed-users-credentials.csvcd server
npm run build
node dist/prisma/seed.js- CSV path:
server/prisma/seed-users-credentials.csv - Default password:
EchoSeed!2026 - Email pattern:
seed.user01@echo.localtoseed.user40@echo.local - Handle pattern:
echo-seed-01toecho-seed-40
To override the default seed password:
SEED_USER_PASSWORD='YourStrongSeedPassword123!' node dist/prisma/seed.js