Skip to content

EveripediaNetwork/ep-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IQ.wiki API

The backend API for IQ.wiki, a blockchain-powered knowledge encyclopedia.

Tech Stack

  • Framework: NestJS 11 with TypeScript
  • API: GraphQL (Apollo Server) + limited REST endpoints
  • Database: PostgreSQL with TypeORM
  • Job Queue: pg-boss
  • Process Manager: PM2 (cluster mode)

Infrastructure

  • IPFS via Pinata
  • AWS Lightsail
  • Sentry (error tracking)
  • PostHog (analytics)
  • Docker
  • Elasticsearch + Kibana + Filebeat (logging)

Getting Started

# Install dependencies (pnpm required)
pnpm install

# Configure environment
cp .sample.env .env

# Run migrations
pnpm typeorm:run

# Start development server
pnpm dev

Development

pnpm dev              # Start with watch mode
pnpm build            # Build for production
pnpm start:prod       # Run production build
pnpm check            # Lint with Biome
pnpm format           # Format with Biome
pnpm test             # Run tests

Services

The application runs multiple services via PM2 (see ecosystem.config.js):

  • ep-api: Main GraphQL API
  • indexer-service: Blockchain data indexing
  • notification-service: Email/notification handling
  • bulk-translate-service-korean: Korean translation
  • bulk-translate-service-chinese: Chinese translation

CLI Tools

pnpm console:dev              # Interactive CLI
pnpm console-mail:dev         # Mail service
pnpm console-translation:dev  # Translation service
pnpm email:dev                # React Email dev server (port 3001)

Requirements

  • Node.js ^18.17.0 || >=20.15.1
  • pnpm >=9.0.0
  • PostgreSQL

About

🚀 IQ.wiki API

Resources

Stars

Watchers

Forks

Contributors 16