Frontend repo can be found in here.
This backend powers the NextTravel web application, a travel planning platform designed to provide users with a seamless experience for booking hotels, vehicles, and travel packages. Developed using the Spring Framework and Spring Security, it ensures secure and efficient operations while adhering to modern software development best practices.
- Authentication and Authorization: Secure login and signup with Spring Security.
- Travel Planning:
- Browse and book travel packages.
- Select hotels, vehicles, and packages tailored to individual needs.
- Payment Integration:
- Integrated with a dummy Stripe payment gateway for transaction simulation.
- Automatic email notifications sent to users upon successful booking.
- User-Friendly APIs: RESTful APIs designed for seamless frontend integration.
- Resource Management:
- Manage hotels, vehicles, users, and travel packages.
- Add, update, and delete resources efficiently.
- Monitoring and Control: Tools to oversee application resources and bookings.
- Microservices Architecture:
- Ensures separation of concerns for better maintainability and scalability.
- Modular design for improved system reliability.
- Email Notifications: Automated email system for booking confirmations.
- Security:
- Spring Security for authentication and role-based access control.
- Secure handling of sensitive information such as user data and transactions.
To set up the project locally, follow these steps:
- Java Development Kit (JDK) 11 or higher
- Maven for dependency management
- A relational database (e.g., MySQL or PostgreSQL)
- Clone the repository:
git clone https://github.com/DamianRavinduPeiris/NextTravelBackEnd.git
- Navigate to the project directory:
cd NextTravelBackEnd - Configure the application:
- Update the
application.propertiesfile with your database connection details. - Add your Stripe API keys for the dummy payment gateway.
- Update the
- Build the project:
mvn install
- Run the application:
mvn spring-boot:run
- Access the APIs using tools like Postman or integrate them with the frontend.
We welcome contributions to enhance this project! Please follow these steps to contribute:
- Fork the repository.
- Create a feature branch:
git checkout -b feature/your-feature-name
- Commit your changes:
git commit -m "Describe your changes" - Push to your feature branch:
git push origin feature/your-feature-name
- Open a pull request to the main repository.
This project is licensed under the MIT License.
For further inquiries or support, feel free to reach out:
