SkyBound is an innovative platform designed to streamline the booking and management of thrilling sky adventures such as skydiving, paragliding, and wingsuit jumps. Additionally, it offers professional certification courses like AFF (Accelerated Free Fall) and WSJC (Wingsuit Jumping Certification). This project features event management, course offerings, payment integration, and a blog application for user engagement and updates.
- Event Listing: View all upcoming sky adventure events with details.
- Event Details: Access comprehensive breakdowns including descriptions, itineraries, inclusions, exclusions, and pricing.
- Event Registration: Users can register for events and receive confirmation emails.
- Capacity Management: Tracks the maximum number of participants per event.
- Professional Certifications: View detailed course descriptions for AFF and WSJC.
- Syllabus and Duration: Comprehensive breakdowns of syllabus and timelines.
- Dynamic Pricing: Prices vary based on course levels and package details.
- Registration: Secure registration with email confirmations.
- Seamless Checkout: Secure payments for events and courses.
- Coupon System: Apply discount codes during payment for offers.
- Payment History: Users can view their transaction history in their dashboards.
- Updates and Articles: Read the latest articles about sky adventure tips, safety measures, and stories.
- Interactive UI: Engaging blog layout for easy readability.
- Admin Management: Blogs are easily manageable via the admin panel.
- Google Authentication: Users can log in or sign up using their Google accounts.
- Role-Based Access: Different access levels for users, organizers, and admins.
- Event Registration: Confirmation emails with event details.
- Payment Receipts: Email receipts after successful payments.
- Promotional Emails: Updates about new events, courses, and offers.
- Event and Course Management: Create, update, or delete events and courses.
- Blog Management: Publish or manage blog posts.
- User Insights: View user registrations and payment details.
$ git clone https://github.com/username/skybound.git
$ cd skybound
Create a virtual environment and install the required packages:
$ python -m venv venv
$ source venv/bin/activate # For Linux/Mac
$ venv\Scripts\activate # For Windows
$ pip install -r requirements.txt
Create a .env
file in the root directory with the following variables:
SECRET_KEY=<your_django_secret_key>
DEBUG=True
RAZORPAY_KEY_ID=<your_razorpay_key_id>
RAZORPAY_SECRET_KEY=<your_razorpay_secret_key>
EMAIL_HOST=<your_email_host>
EMAIL_PORT=<your_email_port>
EMAIL_HOST_USER=<your_email>
EMAIL_HOST_PASSWORD=<your_email_password>
GOOGLE_CLIENT_ID=<your_google_client_id>
GOOGLE_CLIENT_SECRET=<your_google_client_secret>
$ python manage.py makemigrations
$ python manage.py migrate
$ python manage.py runserver
- Navigate to the homepage to view available events and courses.
- Click on an event or course to view details.
- Register by filling out the form and completing the payment.
- Receive a confirmation email with event/course details.
- Click on the "Sign in with Google" button on the login page.
- Authenticate using your Google account.
- Access your personalized dashboard.
- During payment, enter a valid coupon code in the provided field.
- The total amount will adjust based on the discount.
- Visit the blog section to read articles and updates.
- Engage with the latest news on sky adventure trends.
- Backend: Django, Django REST Framework
- Frontend: HTML, CSS, Bootstrap
- Database: PostgreSQL
- Authentication: Google OAuth2 via Django-Allauth
- Payment Gateway: Razorpay
- Email Service: SMTP
class Event(models.Model):
name = models.CharField(max_length=255)
description = RichTextField()
package = models.CharField(max_length=100)
capacity = models.IntegerField()
registration_amt = models.DecimalField(max_digits=10, decimal_places=2)
price_details = models.DecimalField(max_digits=10, decimal_places=2)
whats_included = RichTextField(blank=True, null=True)
whats_not_included = RichTextField(blank=True, null=True)
itinerary = RichTextField(blank=True, null=True)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
cover_img = models.ImageField(upload_to='event/covers')
class Course(models.Model):
name = models.CharField(max_length=255)
description = RichTextField()
price = models.DecimalField(max_digits=10, decimal_places=2)
duration = models.CharField(max_length=100)
syllabus = RichTextField(blank=True, null=True)
cover_img = models.ImageField(upload_to='courses/covers', max_length=None)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
- Dynamic Recommendations: Suggest courses or events based on user interests.
- Social Sharing: Allow users to share event or course details on social media.
- Multi-Language Support: Enable content in multiple languages for global reach.
- Advanced Analytics: Provide detailed insights for admins on user activity.
This project is licensed under the MIT License. See the LICENSE
file for details.
For queries or support, email us at Shubhamsurve30803@gmail.com.