Skip to content

Arpitm544/DevOPs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

🎭 Performly - Performance Booking Platform

Version License: ISC PRs Welcome

📝 Table of Contents

🌟 Overview

Performly is a comprehensive platform that connects performers with clients, enabling seamless booking and management of performances. The platform facilitates the entire process from discovery to booking, payment, and review.

✨ Features

🎯 Core Features

  • User Management

    • Secure authentication system
    • Profile management
    • Role-based access control
  • Performer Features

    • Profile creation and management
    • Performance portfolio
    • Availability calendar
    • Booking management
  • Client Features

    • Search and discover performers
    • Booking management
    • Payment processing
    • Review system
  • Booking System

    • Real-time availability checking
    • Secure payment processing
    • Booking confirmation
    • Calendar integration

🛠 Tech Stack

⚙️ Backend

  • Runtime Environment: Node.js
  • Framework: Express.js
  • Database: MongoDB with Mongoose
  • Authentication: JWT (JSON Web Tokens)
  • Payment Processing: Razorpay
  • Validation: Express Validator
  • Security: bcrypt for password hashing

💻 Frontend

  • Framework: React.js
  • Styling: CSS & TailwindCSS
  • UI Components: Custom components

🚀 Getting Started

Prerequisites

  • Node.js (v14 or higher)
  • MongoDB
  • npm or yarn

Installation

  1. Clone the repository
git clone https://github.com/yourusername/performly-backend.git
cd performly-backend
  1. Install dependencies
# Install backend dependencies
cd backend
npm install

# Install frontend dependencies
cd ../frontend
npm install
  1. Environment Setup Create a .env file in the backend directory with the following variables:
PORT=8080
MONGO_URL=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
RAZORPAY_KEY_ID=your_razorpay_key
RAZORPAY_KEY_SECRET=your_razorpay_secret
  1. Start the application
# Start backend server
cd backend
npm start

# Start frontend development server
cd frontend
npm start

📚 API Documentation

Authentication Endpoints

  • POST /api/users/signup - Register new user
  • POST /api/users/login - User login
  • GET /api/users/profile - Get user profile
  • PUT /api/users/profile - Update user profile

Performer Endpoints

  • GET /api/performers - List performers
  • POST /api/performers - Create performer profile
  • GET /api/performers/:id - Get performer details
  • PUT /api/performers/:id - Update performer profile

Booking Endpoints

  • POST /api/bookings - Create booking
  • GET /api/bookings - List bookings
  • GET /api/bookings/:id - Get booking details
  • PUT /api/bookings/:id - Update booking status

📁 Project Structure

performly-backend/
├── backend/
│   ├── controllers/     # Request handlers
│   ├── models/         # Database models
│   ├── routes/         # API routes
│   ├── middleware/     # Custom middleware
│   ├── db/            # Database configuration
│   ├── utils/         # Utility functions
│   └── index.js       # Application entry point
├── frontend/
│   ├── src/
│   │   ├── components/  # React components
│   │   ├── pages/      # Page components
│   │   ├── redux/      # State management
│   │   ├── services/   # API services
│   │   └── utils/      # Utility functions
│   └── public/         # Static files
└── README.md

🔐 Environment Variables

Variable Description Required
PORT Server port number No (default: 8080)
MONGO_URL MongoDB connection string Yes
JWT_SECRET Secret for JWT token generation Yes
RAZORPAY_KEY_ID Razorpay API key Yes
RAZORPAY_KEY_SECRET Razorpay API secret Yes

👥 Contributors

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors