Skip to content

coomico/steves-api

Repository files navigation

STEVES API

License: MIT

The all-in-one event platform that'll make you ghost Google Forms forever 👻💔

Steves is the event management solution that finally lets your campus events pass the vibe check. No more tab-hoarding between Google Forms, spreadsheets, Drive, and Linktree. We've packed everything event organizers need into one streamlined system designed by students who were tired of doing things the hard way.

TypeScript NestJS PostgreSQL

🚀 Features

Core Features (Your Google workflow is shaking)

  • User Management & Google OAuth
  • Event Creation & Management
  • Division Organization
  • Application System (Google Forms found deceased)
  • Interview Scheduling and Blocking (no more spreadsheet chaos)
  • File Attachments (Drive? never met them)
  • Additional Links Management (bye-bye Linktree)
  • JWT Authentication
  • Cursor-based and Offset Pagination
  • File Uploads to Cloudflare R2 (where your files aren't gaslit by Drive storage limits)

Coming Soon (the sequel)

  • ⏳ Real-Time Interview Schedules
  • ⏳ Notification System
  • ⏳ Frontend UI (yes, this is just the API—wait till you see the glow up)

🔧 Tech Stack

Tech Why It's Actually Superior?
TypeScript No more "undefined is not a function" trauma
NestJS Backend framework that actually respects your mental health
TypeORM Database whisperer
PostgreSQL Where your data thrives instead of just surviving
JWT Gatekeeping, but make it secure
Docker "Works on my machine" who?
Cloudflare R2 Cloud storage that doesn't need a premium subscription

📋 Prerequisites

  • Docker
  • Cloudflare R2 account (using the Free-Tier because we're all on that student budget) 💸

🚀 Installation

  1. Clone this repo

    git clone https://github.com/coomico/steves-api.git
    cd steves-api
  2. Create .env file with variables like those in .env.example

  3. First-time deployment

    # Make sure NODE_ENV=development in docker-compose.yaml
    docker compose up -d
  4. Set up Cloudflare R2

    • Log into your Cloudflare dashboard
    • Navigate to R2 Object Storage Overview
    • Click a bucket named steves-public-bucket and click "Settings"
    • Enable "Public access" under R2.dev subdomain.
    • Copy the .r2.dev URL that appears
    • Paste this URL in your .env file for the R2_DEV_PUBLIC_BUCKET variable
  5. Level up to production mode

    # Stop containers
    docker compose down
    
    # Edit docker-compose.yaml to set NODE_ENV=production
    # (this is where we get serious)
    
    # Restart containers
    docker compose up -d

📚 Documentation

API documentation available at /docs when the application is running.

📝 License

MIT License

About

Steves: where event management stops being chaotic and starts being iconic.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages