A robust and scalable event management API built with NestJS, a progressive Node.js framework.
This event management platform provides a comprehensive set of features to handle everything from event creation to ticket sales.
- User Management: Secure user registration and authentication with role-based access control (USER, ADMIN, ORGANIZER).
- Event Organization: Allows registered organizers to create, update, and manage events.
- Venue Details: Associate events with venues, including address and map links for easy navigation.
- Session Scheduling: Organize events into detailed sessions with specific start and end times.
- Speaker Profiles: Manage speaker information, including bios and photos, and link them to event sessions.
- Ticketing System:
- Ticket Tiers: Create multiple ticket types for an event (e.g., VIP, General Admission) with varying prices and quantities.
- Ticket Sales: Users can purchase tickets for events, with each ticket containing a unique QR code.
- Order and Payments:
- Order Management: Track user orders for tickets with a clear status (e.g., PENDING, COMPLETED).
- Payment Processing: Integrated with multiple payment providers (Stripe, SSL Commerz, PayPal) for secure transactions.
- Sponsorship: Manage event sponsors and their respective tiers.
- Feedback and Reviews:
- Event and Session Ratings: Users can provide ratings and comments for events and sessions they attend.
- Notifications: Keep users informed with a built-in notification system.
We welcome contributions from the community! To get started, please follow these steps:
-
Fork the Repository: Create a fork of this repository to your own GitHub account.
-
Clone the Fork: Clone your forked repository to your local machine.
git clone https://github.com/codisim/tech-conference.git
-
Set Up the Environment: Install the project dependencies using pnpm.
pnpm install
-
Create a New Branch: Create a new branch for your feature or bugfix.
git checkout -b feature/your-feature-name
-
Make Your Changes: Implement your feature or fix the bug. Be sure to follow the existing code style and conventions.
-
Test Your Changes: Run the test suite to ensure that your changes do not break any existing functionality.
# Run unit tests pnpm run test # Run end-to-end tests pnpm run test:e2e
-
Commit Your Changes: Commit your changes with a clear and descriptive commit message.
git commit -m "feat: add user authentication" -
Push to Your Fork: Push your changes to your forked repository.
git push origin feature/your-feature-name
-
Create a Pull Request: Open a pull request from your fork to the main repository. Provide a detailed description of your changes and why they should be merged.
# Install dependencies
$ pnpm install# Development
$ pnpm run start
# Watch mode
$ pnpm run start:dev
# Production mode
$ pnpm run start:prod# Unit tests
$ pnpm run test
# End-to-end tests
$ pnpm run test:e2e
# Test coverage
$ pnpm run test:covThis project is licensed under the MIT License. See the LICENSE file for more details.