NFTopia Backend API is a Nest.js application that powers the NFTopia platform's server-side operations. It provides RESTful endpoints for NFT management, user authentication, and blockchain interactions with Starknet.
View Swagger Docs (Available when running locally)
- JWT Authentication: Secure user login and session management
- NFT Metadata Processing: IPFS upload and metadata generation
- Starknet Integration: Interact with Cairo smart contracts
- Database ORM: TypeORM with PostgreSQL for data persistence
- Queue System: BullMQ for background jobs (minting, notifications)
- API Rate Limiting: Protect against abuse
| Component | Technology |
|---|---|
| Framework | Nest.js |
| Language | TypeScript |
| Database | PostgreSQL + TypeORM |
| Blockchain | Starknet.js |
| Queue | BullMQ |
| API Docs | Swagger |
- Node.js v18+
- PostgreSQL 14+
- Redis (for queues)
- pnpm
- Clone the repo:
git clone https://github.com/NFTopia-Foundation/nftopia-backend-api.git cd nftopia-backend-api - Install dependencies:
pnpm install
- Setup environment:
cp .env.example .env
- Fork the repository
- Create your feature branch:
git checkout -b feat/your-feature- Commit changes following Conventional Commits
- Push to the branch:
- Open a Pull Request