This is a full-stack Tour Booking Application built using Angular 18 for the front-end, Spring Boot 3.3.0 for the back-end, and MySQL for the database. The application allows users to book tours, manage locations, schedules, and prices. It includes CRUD operations for all entities involved in the booking process.
- User Authentication: Secure login and registration.
- Tour Management: Create, read, update, and delete tour information.
- Location Management: Manage locations for tours.
- Schedule Management: Set and manage tour schedules.
- Pricing: Define and manage tour pricing.
- Booking System: Allow users to book tours and view their bookings.
- Responsive Design: Works on both desktop and mobile devices.
- Front-end: Angular 18
- Back-end: Spring Boot 3.3.0
- Database: MySQL
- Other Tools: Maven, Hibernate, JWT for authentication, Angular Material for UI components
- Node.js and npm installed
- Angular CLI installed
- Java JDK 17
- Maven
- MySQL server
-
Clone the repository:
git clone https://github.com/your-username/tour-booking-app.git cd tour-booking-app/backend
-
Configure MySQL database: Update the
application.properties
file with your MySQL database credentials.spring.datasource.url=jdbc:mysql://localhost:3306/tour_booking spring.datasource.username=root spring.datasource.password=yourpassword spring.jpa.hibernate.ddl-auto=update
-
Build and run the application:
mvn clean install mvn spring-boot:run
-
Navigate to the front-end directory:
cd ../frontend
-
Install dependencies:
npm install
-
Run the Angular development server:
ng serve
-
Open your browser and navigate to
http://localhost:4200
.
- Register a new user or log in with existing credentials.
- Create and manage tours, locations, schedules, and prices.
- Book a tour and view booking details.
- /src/main/java/com/example/tourbooking: Contains the main application code.
- /src/main/resources: Contains configuration files.
- /src/app: Contains Angular components, services, and modules.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/YourFeature
). - Commit your changes (
git commit -am 'Add YourFeature'
). - Push to the branch (
git push origin feature/YourFeature
). - Create a new Pull Request.
For any questions or suggestions, please contact us at [email protected]
- Thanks to the developers of Angular, Spring Boot, and MySQL for their amazing tools and frameworks.