Skip to content

Latest commit

Β 

History

1,542 Commits

Folders and files

Repository files navigation

Easy Travel BD


Seamless Travel Experience β€” Anywhere, Anytime.

Easy Travel BD is a comprehensive travel management platform designed to make traveling across Bangladesh convenient and enjoyable. From booking bus tickets to finding the best hotels, tour guides, and travel agencies, our platform provides a seamless experience for travelers. Additionally, Easy Travel BD enables users to explore tourist spots, read blogs, and share their travel experiences.


ASP.NET Core

ASP.NET Core

C#

C#

SQL Server

Microsoft SQL Server

Clean Architecture

Clean Architecture

Azure

Microsoft Azure


🌐 Live Demo

Live Demo Badge


πŸ‘¨β€πŸ’» Team

Meet the passionate developers behind Easy Travel BD:

Role Name & GitHub Profile
Team Lead Najmul Islam Naeem
Developer Irfan Mahmud
Developer Abdur Rashed

🧠 Our Guide & Mentor

A heartfelt appreciation to Maynul Islam Sohel


Features

πŸ‘₯ Roles and Their Activities

Role Permissions / Activities
Public (Anyone) - Search and explore buses
- Explore hotels, private cars, photographers, guides, agencies
- Create account
Registered User - Book buses
- Book hotels
- Book private cars
- Hire photographers
- Hire tour guides
- Update their profile
- Show their previous history
Bus Manager - Add and manage buses
- Update bus information
- View bus booking history
Private Car Manager - Add and manage private cars
- Update car information
- View private car bookings
Hotel Manager - Add and manage hotels
- Update room availability
- View hotel booking history
Photographer - Create and manage profile
- Manage photography bookings and schedule
Tour Guide - Create and manage profile
- Manage tour guide bookings and availability
Agency Manager - Add and manage travel agencies
- Manage agency tours and related services
Super Admin - Distribute money to service provider
- Create,Update,Delete Service provider and User and all other permited task

Strictly we handed the authentication authorization for security

Home Page

Home Page


Home Page


Home Page


The homepage provides a user-friendly interface with the following sections:
  • Navbar: A responsive and dynamic navigation bar with buttons.

  • Hero Section: A sliding showcase highlighting major services

  • Body:

    • Attractive cards showcasing our travel packages.
    • Details of popular tourist spots in Bangladesh.
  • Contact Section: A form to contact using email

  • Footer: A neatly organized footer providing quick links and contact details.


Hotel Page

Hotel Page


Hotel Page


Searchable and result of hotel.Responsive and beautiful ui.

Buy Ticket Page

A dedicated page for booking bus tickets. Features include:

Home Page


  • Ticket Search:
    • Input fields for From, To, and Date.
    • A search button to show available buses.

Home Page


- **Bus Selection**: - View a list of available buses. - Option to select a seat (if possible).
  • Payment System (if applicable).

  • Ticket Download:

    • Generate and download a ticket copy for future reference.
  • Additional Suggestion:

    • Display nearby hotels at the destination area.

Tour Guide Page

Easily explore and book professional tour guides: Home Page
Home Page

  • Browse a list of available tour guides with ratings and experience.
  • Filter guides based on preferred location, language, and availability.
  • View detailed guide profiles and book directly with customized timing.

Photographer Page

Capture your moments with skilled photographers:

Home Page


Home Page


- Discover photographers by experience, rating, and availability. - Access social media links and sample portfolios. - Instantly calculate price based on event duration and book with ease.

πŸ” Payment Integration with SSLCommerz

Ensure secure and seamless transactions for all bookings: SSLCommerz Payment
SSLCommerz Payment
SSLCommerz Payment

  • Integrated SSLCommerz for reliable payment processing.
  • Supports multiple local payment methods (Nagad, Bkash, Visa, Mastercard).
  • Ensures encrypted and safe checkout for users.
  • Payment status and history tracked in user profile.
  • Admin dashboard shows confirmed transactions and payment logs.


Registration and Login Page

Secure access and personalized experience for every user:
Registration and Login
Registration and Login

  • User-friendly registration with email and password authentication.
  • Secure login using industry-standard hashing and validation.
  • Role-based redirection for Admin and General Users.
  • Option to reset forgotten password and verify via email.

User Profile and History Page

Manage your bookings and preferences with a personalized experience: User Profile

  • Update personal details including contact info and profile picture.
  • View booking history across guides, photographers, hotels, and transports.
  • Track current bookings and cancel or modify as needed.

Admin Panel

Complete control and monitoring of the platform: Admin Panel
Admin Panel
Admin Panel
Admin Panel

  • Manage users, guides, photographers, agencies, hotels, and transport services.
  • Approve or decline service provider applications.
  • Monitor bookings, reviews, and payments in real time.
  • View detailed analytics and system reports.


πŸš€ Technologies Used

Our project leverages modern technologies to ensure performance, scalability, and security.
Below is a detailed overview:

Technology Description Logo
ASP.NET Core 9 (Latest) Built with the latest .NET 9 for faster performance, better security, and long-term support. ASP.NET Core Logo
Entity Framework Core Used for ORM to interact with Microsoft SQL Server and reduce boilerplate code. EF Core Logo
Microsoft SQL Server Primary database for storing user, booking, and management data securely and efficiently. SQL Server Logo
SignalR Real-time communication for instant booking notifications and live updates. SignalR Logo
Azure Cloud Hosting the application for global scalability, reliability, and integrated DevOps support. Azure Logo
SSLCommerz Secure, trusted online payments for bus, hotel, and car bookings. SSLCommerz Logo
DataTables.js Rich, dynamic tables with search, filter, pagination, and export features in admin panels. DataTables Logo
AdminLTE Elegant and responsive admin dashboard template for backend management. AdminLTE Logo
Serilog Structured logging for better monitoring, debugging, and issue tracking. Serilog Logo
Autofac Dependency Injection (DI) management, improving code flexibility and testability. Autofac Logo
Identity Framework Handles user authentication, authorization, and secure password storage. Identity Logo
AutoMapper Simplifies object-to-object mapping (DTOs ↔ Entities) to keep code clean and organized. AutoMapper Logo
NUnit & Moq Robust unit testing and mocking dependencies for reliability and stability. NUnit Logo
Docker Containerization to ensure smooth deployment and environment consistency across development, testing, and production. Docker Logo
GitHub Version control, collaboration, code reviews, CI/CD integration, and issue tracking using GitHub. GitHub Logo
Bootstrap Responsive UI design, pre-built components, and utility classes for faster frontend development. Bootstrap Logo
jQuery Simplifies DOM manipulation, AJAX calls, and event handling for dynamic user interactions. jQuery Logo

🎯 Why We Chose These Technologies

  • Latest & Reliable: We chose the latest .NET and Azure stack to ensure maximum security and support.
  • Scalable: Azure, SQL Server, and SignalR allow handling many users and real-time data efficiently.
  • Maintainable: AutoMapper, Entity Framework, and Autofac keep the system modular and maintainable.
  • Security: Identity Framework, SSLCommerz, and structured logging with Serilog ensure secure user and transaction handling.
  • Professional UI/UX: AdminLTE and DataTables provide a seamless, professional user experience.
  • Testing-First Mindset: NUnit and Moq ensure high code quality and minimum production bugs.

πŸ›οΈ Architecture & Design Patterns

Our project is structured with a strong focus on scalability, maintainability, and best practices. Below are the key architecture and design patterns we have implemented:

Concept/Pattern Description
Clean Architecture We structured the solution based on Clean Architecture principles to keep business logic independent from frameworks and external technologies. It improves maintainability, testability, and scalability.
Repository Pattern Applied to abstract data access logic and provide a flexible architecture that isolates database operations from the business layer.
Unit of Work Ensures that multiple repository operations are coordinated and committed together, providing better transaction management and reducing redundant database calls.
SOLID Principles The entire project strictly follows SOLID principles (Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion) to create robust, loosely-coupled, and easily extendable code.
Factory Pattern Used for creating instances where object creation is complex or requires control, promoting loose coupling and better management of object lifecycle.
GitFlow A Git branching strategy that defines strict roles for branches and organizes releases, hotfixes, and feature development, improving collaboration and deployment processes.

βœ… Result:
Using these design patterns ensures that our application is highly maintainable, scalable, testable, and future-proof for upcoming features and changes.


πŸ“‚ Project Directory Structure

Here’s the directory structure of the Dynamic-Dev project:

EasyTravel
β”‚
β”œβ”€β”€ EasyTravel.Web/                     # Blazor frontend project
β”‚   β”œβ”€β”€ wwwroot/                        # Static files (CSS, JS, images, etc.)
β”‚   β”‚   β”œβ”€β”€ css/
β”‚   β”‚   β”œβ”€β”€ js/
β”‚   β”‚   β”œβ”€β”€ images/
β”‚   β”‚   └── assets/
β”‚   β”œβ”€β”€ Shared/                         # Shared components
β”‚   β”œβ”€β”€ Areas/                          # Admin and other areas
β”‚   β”‚   β”œβ”€β”€ Admin/
β”‚   β”‚   β”‚   β”œβ”€β”€ Controllers/
β”‚   β”‚   β”‚   β”œβ”€β”€ Views/
β”‚   β”‚   β”‚   └── Mappings/
β”‚   β”œβ”€β”€ Views/                          # Razor views
β”‚   β”‚   β”œβ”€β”€ Home/
β”‚   β”‚   └── Shared/
β”‚   β”œβ”€β”€ Data/                           # Application data
β”‚   β”œβ”€β”€ EasyTravel.Web.csproj           # Project file
β”‚
β”œβ”€β”€ EasyTravel.Application/             # Application layer
β”‚   β”œβ”€β”€ Services/                       # Business logic services
β”‚   β”‚   β”œβ”€β”€ Admin/
β”‚   β”‚   β”œβ”€β”€ Interfaces/
β”‚   β”œβ”€β”€ Factories/                      # Factory classes
β”‚   β”œβ”€β”€ EasyTravel.Application.csproj   # Project file
β”‚
β”œβ”€β”€ EasyTravel.Domain/                  # Domain layer
β”‚   β”œβ”€β”€ Entities/                       # Domain entities
β”‚   β”œβ”€β”€ Services/                       # Domain services
β”‚   β”œβ”€β”€ Repositories/                   # Repository interfaces
β”‚   β”œβ”€β”€ EasyTravel.Domain.csproj        # Project file
β”‚
β”œβ”€β”€ EasyTravel.Infrastructure/          # Infrastructure layer
β”‚   β”œβ”€β”€ Repositories/                   # Repository implementations
β”‚   β”œβ”€β”€ Data/                           # Database-related files
β”‚   β”‚   β”œβ”€β”€ Migrations/
β”‚   β”œβ”€β”€ EasyTravel.Infrastructure.csproj # Project file
β”‚
β”œβ”€β”€ EasyTravel.Test/                    # Unit and integration tests
β”‚   β”œβ”€β”€ ApplicationTests/               # Tests for the application layer
β”‚   β”‚   β”œβ”€β”€ ServiceTests/
β”‚   β”œβ”€β”€ DomainTests/                    # Tests for the domain layer
β”‚   β”œβ”€β”€ InfrastructureTests/            # Tests for the infrastructure layer
β”‚   β”œβ”€β”€ EasyTravel.Test.csproj          # Project file
β”‚
β”œβ”€β”€ .github/                            # GitHub Actions workflows
β”‚   β”œβ”€β”€ workflows/
β”‚   β”‚   β”œβ”€β”€ main_easytravelbd.yml       # CI/CD workflow for deployment
β”‚   β”‚   β”œβ”€β”€ sonarcloud.yml              # Workflow for SonarCloud analysis
β”‚
β”œβ”€β”€ EasyTravel.sln                      # Solution file

πŸ“ˆ Future Plans

  • πŸ—ΊοΈ Real-time guide/vehicle tracking using GPS and Maps API
    Enable users to track tour guides or hired vehicles in real-time using Google Maps or OpenStreetMap integration.

  • 🧾 Integration with hotel chains for real-time availability
    Partner with hotel APIs or chains to fetch live room availability, offers, and pricing for seamless booking experiences.

  • πŸ€– AI-based smart suggestions for complete travel packages
    Use machine learning to recommend optimized travel plans based on user's interests, search history, location, and budget.

  • πŸ“± Cross-platform mobile app using .NET MAUI or React Native
    Launch fully functional mobile apps supporting both Android and iOS for broader user accessibility and convenience.

πŸ”— Useful Links

Resource Link
🌐 Live Site Visit Website
πŸ™ GitHub GitHub Repo
🐳 Docker Hub Docker Image

Vision

Easy Travel BD aims to revolutionize the travel experience in Bangladesh by offering a one-stop platform for all travel needs. Whether you're a solo traveler, a family, or a tour group, our application is designed to make your journey smooth, secure, and memorable.


πŸš€ Getting Started

Follow the steps below to clone, set up, and run the project locally:

1️⃣ Clone the Repository

git clone https://github.com/Learnathon-By-Geeky-Solutions/dynamic-dev
cd dynamic-dev/projet/easy-travel-bd

Change Connection string

"ConnectionStrings": {
  "DefaultConnection": "Server=YOUR_SERVER;Database=YOUR_DB Trusted_Connection=True;MultipleActiveResultSets=true"
}

Releases

Packages

Contributors

Languages