Go to file
ats-tech25 d0117e6ac7 feat(server): Implement payment routes and handler initialization
- Add payment routes with placeholders for CreatePaymentIntent, ConfirmPayment, and HandleWebhook
- Introduce initializeServices method to set up payment service and handler
- Update Server struct to include paymentHandler
- Prepare infrastructure for payment-related functionality
- Enhance server initialization process with service setup
2025-11-05 15:34:11 +00:00
cmd feat(project): Initialize project structure and core components 2025-11-05 15:06:07 +00:00
internal feat(server): Implement payment routes and handler initialization 2025-11-05 15:34:11 +00:00
.env feat(auth): Implement comprehensive authentication and authorization middleware 2025-11-05 15:21:56 +00:00
.env.example feat(project): Initialize project structure and core components 2025-11-05 15:06:07 +00:00
.gitignore feat(project): Initialize project structure and core components 2025-11-05 15:06:07 +00:00
brainstorm.md docs(brainstorm): Update payment method from PayPal to Stripe 2025-11-05 14:33:46 +00:00
go.mod feat(payments): Implement comprehensive Stripe payment integration 2025-11-05 15:30:53 +00:00
go.sum feat(auth): Implement comprehensive authentication and authorization middleware 2025-11-05 15:21:56 +00:00
Makefile feat(project): Initialize project structure and core components 2025-11-05 15:06:07 +00:00
README.md feat(project): Initialize project structure and core components 2025-11-05 15:06:07 +00:00

Video Conference Booking System

A Go-based backend service for booking video conference meetings with Stripe payment integration and Jitsi Meet video conferencing.

Features

  • User registration and authentication
  • Meeting booking with payment processing
  • Jitsi Meet integration for video conferences
  • Email notifications via SMTP
  • Admin dashboard for system management
  • CLI tools for admin operations

Project Structure

├── cmd/
│   ├── server/          # HTTP server entry point
│   └── cli/             # CLI tools entry point
├── internal/
│   ├── config/          # Configuration management
│   ├── server/          # HTTP server setup
│   ├── cli/             # CLI commands
│   ├── models/          # Database models
│   ├── services/        # Business logic layer
│   ├── repositories/    # Data access layer
│   ├── handlers/        # HTTP handlers
│   └── middleware/      # HTTP middleware
├── bin/                 # Compiled binaries
├── .env.example         # Environment variables template
├── Makefile            # Development commands
└── README.md           # This file

Prerequisites

  • Go 1.21 or higher
  • PostgreSQL database
  • Stripe account (for payments)
  • SMTP server (for email notifications)

Setup

  1. Clone the repository
  2. Copy environment variables:
    cp .env.example .env
    
  3. Update .env with your configuration
  4. Install dependencies:
    make deps
    
  5. Build the application:
    make build
    

Running the Application

HTTP Server

make run
# or
./bin/server

CLI Tools

make cli
# or
./bin/cli

Development

  • make build - Build server binary
  • make build-cli - Build CLI binary
  • make run - Run the server
  • make test - Run tests
  • make fmt - Format code
  • make vet - Vet code
  • make clean - Clean build artifacts

API Endpoints

The server will start on http://localhost:8080 by default.

  • GET /health - Health check
  • POST /api/v1/auth/register - User registration
  • POST /api/v1/auth/login - User login
  • GET /api/v1/bookings - Get user bookings
  • POST /api/v1/bookings - Create booking
  • GET /api/v1/schedules - Get available slots
  • POST /api/v1/payments/intent - Create payment intent
  • GET /api/v1/admin/dashboard - Admin dashboard

Environment Variables

See .env.example for all required environment variables.

License

This project is proprietary software.