Skip to content

daniel1lima/request_web

Repository files navigation

Request.me

Request.me Logo

TypeScript React Next.js Tailwind CSS PostgreSQL

A comprehensive request management system that streamlines and automates request processing workflows. Built with a modern tech stack, it offers real-time analytics using websockets and modern payouts using Stripe's developer API.

Live Demo | GitHub Repository

🚀 Features

1. Payment Integration

  • Seamless Stripe integration
  • Automated payout processing
  • Transaction history and reporting
  • Multi-currency support

Stripe Payment Integration The main client facing page utilizing the express checkout stripe component

2. Real-time Request Processing

  • Instant request submission and processing
  • Live status updates using WebSocket technology
  • Real-time analytics dashboard
  • Automated request categorization

WebSocket Integration Websocket status displaying on the admin dashboard

3. Accepted Request Tracking

  • Real-time queue visualization for upcoming songs
  • Live updates when requests are accepted or played
  • Song history tracking for event attendees

Request Tracking Public-facing request queue showing upcoming songs and currently playing track

4. Multi-DJ Management

  • Create and manage multiple DJs for a single event
  • Seamless DJ handoffs with real-time status updates
  • Dynamic DJ rotation with customizable schedules
  • Individual request queues for each performing DJ

DJ Management Admin interface showing DJ management panel with current active DJ and rotation controls

5. SMS Notification System

  • Twilio SMS integration for request updates
  • Text message confirmations when requests are accepted
  • SMS-based request cancellation functionality
  • Automated reminders when a request is about to play

SMS Notifications Example of SMS notifications sent to attendees with request status updates

6. Spotify API Integration

  • Real-time song search across Spotify's vast library
  • Rich metadata including album art, artist info, and song duration
  • Audio previews for DJs to evaluate requests
  • Smart search with autocomplete and filtering options

Spotify Integration Song search interface powered by Spotify API showing search results with album artwork

🏗️ Technical Architecture

System Architecture High-level overview of the Request.me system architecture

Frontend Stack

  • React 18
  • TypeScript
  • Next.js
  • Tailwind CSS
  • WebSocket for real-time updates
  • React Query for data fetching

Backend Stack

  • Node.js
  • Express
  • PostgreSQL
  • WebSocket Server
  • Stripe API Integration
  • Spotify API Integration

📁 Project Structure

request_web/
├── client/           # Frontend Next.js application
├── server/           # Backend Express server
├── shared/           # Shared types and utilities
└── docs/            # Project documentation

🔒 Security Features

  • JWT authentication
  • Role-based access control
  • Rate limiting
  • Data encryption
  • Secure WebSocket connections

⚡ Performance Optimizations

  • Database indexing
  • Query optimization
  • Caching strategies
  • Load balancing
  • CDN integration

🛠️ Development Setup

Prerequisites

  • Node.js 18+
  • PostgreSQL 15+
  • Bun package manager

Installation

# Clone the repository
git clone https://github.com/daniel1lima/request_web.git

# Install dependencies
bun install:all

# Set up environment variables
cp .env.example .env

# Start development servers
bun dev

🗺️ Future Roadmap

  • Enhanced analytics and reporting
  • Soundcloud Support
  • Native integration with Serrato or RekordBox
  • Mobile application
  • Additional payment providers
  • Advanced analytics
  • Custom workflow builder

📝 License

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

👥 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors