A lightning prism management interface that helps you manage and control payment splits on the Lightning Network. Aurora provides tools for creating, managing, and monitoring lightning payment distributions through prisms.
This is a work in progress. Things are rapidly being built and changed on various branches. Design and UX planning is happening in these docs:
- Node.js (v18 or later)
- Docker and Docker Compose
- A Phoenix node running locally or remotely
- Clone the repository:
git clone https://github.com/ATLBitLab/aurora.git
cd aurora- Install dependencies:
yarn install- Set up environment variables:
# Copy the example env file and modify as needed
cp .env.example .envAurora uses PostgreSQL for data storage, running in Docker for easy setup and management.
- Start the PostgreSQL container:
docker compose up -dThis will:
- Create a PostgreSQL 15 instance
- Set up a persistent volume for data storage
- Expose the database on port 5432
- Configure the following credentials:
- User: aurora
- Password: aurora_dev_password
- Database: aurora_db
- Apply database migrations:
npx prisma migrate devThe project includes seed data to help you get started quickly. The seed data includes 5 sample contacts with various fields and metadata:
- Load the seed data:
npx prisma db seedThis will create sample contacts including:
- Satoshi Nakamoto (with social media and interests)
- Alice Lightning (with Nostr integration)
- Bob Builder (developer profile)
- Carol Crypto (privacy advocate)
- Dave Decentralized (web5 developer)
To reset the database and reload seed data:
# Reset the database
npx prisma migrate reset
# Or manually:
npx prisma db push --force-reset
npx prisma db seedCommon database management commands:
# View database logs
docker compose logs postgres
# Stop the database
docker compose down
# Stop the database and remove volume (CAUTION: This will delete all data)
docker compose down -v
# Access PostgreSQL CLI
docker compose exec postgres psql -U aurora -d aurora_db
# Generate Prisma client after schema changes
npx prisma generate
# Create a new migration after schema changes
npx prisma migrate dev --name <migration_name>The database currently includes:
contactstable:- UUID-based IDs
- Optional fields for basic info (firstName, lastName, etc.)
- Nostr integration (pubkey storage)
- Flexible JSON metadata field for extensibility
- Optimized indexes for common queries
Example contact structure:
{
id: "uuid",
firstName: "Alice",
lastName: "Lightning",
screenName: "alicezap",
nostrPubkey: "npub...",
email: "alice@lightning.btc",
metadata: {
telegram: "@alicezap",
interests: ["lightning", "bitcoin"],
preferredPaymentMethod: "lightning"
}
}Start the development server:
yarn devThe application will be available at http://localhost:3000.
PHOENIXD_HOST: Phoenix node host addressPHOENIXD_HTTP_PASS_LIMITED: Phoenix node limited access passwordDATABASE_URL: PostgreSQL connection string
- Create a feature branch
- Make your changes
- Submit a pull request
[Add your license here]
