Skip to content

EventWise - An app for event ticketing RESTful services

Notifications You must be signed in to change notification settings

iapurba/eventwise-api-express

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eventwise-api

Event Ticketing and Management App Backend Services

This repository contains the backend services for our event ticketing and management application, built using Node.js and Express. The services provide a scalable and robust foundation for managing various aspects of event discovery, ticket booking, and user interaction.

Key Features:

  • Event Management: Create, update, and manage a wide range of events, from concerts to workshops.
  • Ticketing System: Seamless ticket booking process with multiple ticket types and secure payment integration.
  • User Authentication: Implement user registration and authentication to secure user accounts.
  • API Gateway: Efficiently route incoming requests to the appropriate microservices for event-related actions.
  • Database Integration: Utilize databases to store event information, user profiles, and transaction data.
  • Notification Services: Keep users informed with event updates, booking confirmations, and reminders.
  • Review and Ratings: Allow users to provide feedback and rate events they've attended.
  • Scalability: Designed with a microservices architecture to ensure easy scaling and maintenance.

Getting Started:

  1. Clone this repository.
  2. Install Node.js and required dependencies using npm install.
  3. Set up environment variables for configuration (database connection, APIs, etc.).
  4. Run the services using npm start.

Feel free to explore the codebase, customize the services, and contribute to enhancing the event ticketing and management experience.

For more information and detailed documentation, refer to the specific service directories within this repository.

  1. Authentication and User Management:

    • User Registration: POST /api/users/register (both customer and organizer)
    • User Login: POST /api/users/login (both customer and organizer)
    • User Profile: GET /api/users/:userId (authorized user and admin only)
    • Update User Profile: PUT /api/users/:userId (authorized user and admin only)
    • Update User Role: PUT /api/users/:userId/role (admin only)
    • Delete User Profile: DELETE /api/users/:userId (admin only)
  2. Event Management:

    • Create Event: POST /api/events (organizer only)
    • Update Event: PUT /api/events/:eventId (organizer only)
    • Delete Event: DELETE /api/events/:eventId (organizer only)
    • Get Organizer Events: GET /api/organizers/:organizerId/events (organizer only)
    • Get All Events: GET /api/events
    • Get Event Details: GET /api/events/:eventId
    • Get Events by Date Range: GET /api/events?startDate=yyyy-mm-dd&endDate=yyyy-mm-dd
    • Get Events by Location: GET /api/events?location=city
    • Get Events by Category: GET /api/events?category=category_name
  3. Ticket Management:

    • Create Ticket Types for an Event : POST /api/events/:eventId/tickets (orgaizer only)
    • Get Ticket Types for an Event: GET /api/events/:eventId/tickets
    • Get Ticket Details: GET /api/tickets/:ticketId
    • Update Ticket Details: PUT /api/tickets/:ticketId (organizer only)
    • Delete a Ticket Type: DELETE /api/tickets/:ticketId (organizer only)
  4. Payment Integration:

    • Create Payment Intent: POST /api/payments/create-intent
    • Confirm Payment: POST /api/payments/confirm
  5. User Bookings and History:

    • Get User's Bookings: GET /api/users/:userId/bookings
    • Get User's Booking History: GET /api/users/:userId/booking-history
  6. Reviews and Ratings:

    • Leave a Review: POST /api/reviews
    • Get Event Reviews: GET /api/reviews/event/:eventId
  7. Search and Filters:

    • Search Events: GET /api/events/search?q=search_query
    • Filter Events by Category: GET /api/events/category/:categoryName
    • Filter Events by Date: GET /api/events/date/:date
  8. Admin Panel:

    • Get All Users: GET /api/admin/users
    • Get All Bookings: GET /api/admin/bookings
    • Get All Events: GET /api/admin/events
    • Get All Reviews: GET /api/admin/reviews
  9. Notifications:

    • Send Notification: POST /api/notifications
    • Error Handling:
  10. Others:

    • View Event Categories: GET /api/categories
    • Search and Filter Options: GET /api/filters

About

EventWise - An app for event ticketing RESTful services

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published