Skip to content

Repository files navigation

Eventful API

License: MIT Node.js TypeScript Express Prisma PostgreSQL Redis Paystack JWT Deployed Coverage

Backend service for Eventful – a ticketing platform that connects event creators and attendees. Built as a capstone project for the AltSchool Backend Engineering (NodeJS) Diploma Karatu 2025.

Tech Stack

  • Runtime: Node.js + TypeScript
  • Framework: Express
  • Database: PostgreSQL (Supabase) + Prisma ORM
  • Caching & Rate Limiting: Redis
  • Payments: Paystack
  • Authentication: JWT (access + refresh tokens)
  • Testing: Jest + Supertest
  • Docs: Postman / Swagger

Features

  • User authentication & role‑based access (Creator / Attendee)
  • Event creation, listing, and management
  • QR code ticket generation & verification
  • Paystack payment integration
  • Customizable event reminders (creator & attendee)
  • Analytics dashboard for event creators
  • Social media shareability

Getting Started

Prerequisites

  • Node.js ≥ 18
  • PostgreSQL database (local or Supabase)
  • Redis instance (local or cloud)
  • Paystack test keys

Installation

  1. Clone the repo

    git clone https://github.com/devGeorgeOwi/eventful-api.git
    cd eventful-api
  2. Install dependencies

    npm install
  3. Set up environment variables

    cp .env.example .env

    Fill in your DATABASE_URL, JWT_SECRET, PAYSTACK_SECRET_KEY, REDIS_URL, etc.

  4. Run database migrations

    npx prisma migrate dev
  5. Start the development server

    npm run dev

API Documentation

  • Interactive Postman collection: [Link here once deployed]
  • Swagger UI (coming soon)

Deployment

The API is deployed on [Render / Railway] at:

https://eventful-api.onrender.com

Author

License

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

About

Backend API for Eventful – a ticketing platform with QR codes, payments, and analytics. Built with Node.js, TypeScript, Prisma, PostgreSQL, and Redis.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages