Stay updated and dive deeper into the project!
- π API Documentation β Explore and test our RESTful APIs.
- π Live Demo β Experience Roamance live.
- About Roamance
- Key Features
- System Architecture
- Tech Stack
- Getting Started
- API Reference
- Data Security
- AI Integration
- Contributing
- License
Roamance is a comprehensive travel management and social platform built with Spring Boot, designed to empower travelers to plan, record, and share their journeys with a global community.
Combining powerful itinerary management tools with social networking features, Roamance creates a seamless experience for travel enthusiasts to organize their adventures while connecting with like-minded explorers.
- Smart Travel Planning β Create detailed itineraries with day plans and activities
- Journal System β Document travel experiences with rich media support
- Social Interaction β Share posts, like, comment, and save travel content
- Real-time Messaging β Connect with other travelers through private chats
- AI-Powered Features β Get itinerary suggestions, image analysis, and content recommendations
- Secure Authentication β JWT-based authentication and role-based access control
Traditional travel platforms often suffer from:
- β Disconnected planning and social sharing features
- β Limited personalization options
- β Lack of real-time interaction capabilities
Roamance solves these challenges by offering:
- A unified platform that combines travel planning and social networking
- AI-powered personalization for trip suggestions
- Real-time communication tools for community engagement
- Comprehensive journal system for preserving travel memories
- The global travel and tourism market is projected to reach $8.9 trillion by 2026
- Increasing demand for digital travel planning tools and social travel experiences
- Growing interest in personalized itineraries and AI-assisted travel recommendations
Roamance follows a modular, microservices-inspired architecture with the following key components:
βββββββββββββββββββββ βββββββββββββββββββββ βββββββββββββββββββββ
β Client Apps β β Spring Boot API β β Data Services β
β β β β β β
β Mobile / Web ββββββΊβ REST Controllers ββββββΊβ PostgreSQL DB β
β Applications β β Service Layer β β Object Storage β
βββββββββββββββββββββ β Security Filters β β β
βββββββββββββββββββββ βββββββββββββββββββββ
β²
β
βΌ
βββββββββββββββββββββ
β AI Services β
β β
β Gemini Model β
β Vector DB β
β Image Analysis β
βββββββββββββββββββββ
Module | Purpose |
---|---|
User Management | Authentication, profiles, preferences |
Travel Journal | Journal creation, subsections, media management |
Itinerary Planning | Trip planning, day plans, activities |
Social Interaction | Posts, comments, likes, saves |
Messaging | Real-time and asynchronous messaging |
AI Services | Content analysis, itinerary generation, search, proofread |
Security | JWT authentication, role-based access control |
-
Authentication Flow π
- User registers or logs in via secure endpoints
- JWT tokens (access/refresh) are issued for session management
- Role-based permissions determine accessible features
-
Travel Planning Flow πΊοΈ
- Users create itineraries with destination details
- Day plans are added to itineraries with specific dates
- Activities are scheduled within day plans with time constraints
-
Social Interaction Flow π
- Users create, view, like, and save travel-related posts
- Comments enable discussion on travel content
- Real-time messaging connects travelers directly
-
AI-Enhanced Experience π€
- AI analyzes travel content for insights and safety
- Generate itinerary using AI
- Vector database enables semantic search across travel content
- Image analysis extracts meaningful information from travel photos
- Proofread content
Roamance is built with a modern, scalable technology stack:
- Spring Boot - Core application framework
- Spring Security - Authentication and authorization
- JWT - Secure token-based authentication
- JPA/Hibernate - ORM for database interactions
- PostgreSQL - Primary relational database
- Gemini AI - Text and image analysis
- LangChain4j - AI model integration
- Vector Databases - Semantic search capabilities
- Docker - Containerization for deployment
- Gradle - Build automation
- SpringDoc - API documentation with OpenAPI
- JUnit & Mockito - Testing frameworks
- SonarCloud - Code quality and coverage analysis
- GitHub Actions - CI/CD pipeline for automated testing and deployment
- Swagger UI - Interactive API documentation
- Postman - API testing and documentation
- Azure DevOps - Project management using scrum methodology
Follow these steps to set up Roamance locally:
- JDK 21+
- PostgreSQL
- Gradle
- Docker (optional)
-
Clone the repository:
git clone https://github.com/Learnathon-By-Geeky-Solutions/devs cd devs
-
Configure environment:
# Copy example environment file cp .env.example .env # Edit with your database and API keys # Required: PostgreSQL connection, JWT secret, AI API keys
-
Build and run:
./gradlew bootRun
-
Access the application:
- API: http://localhost:8080
- API Documentation: http://localhost:8080/swagger-ui.html
Roamance provides a comprehensive RESTful API:
Category | Endpoint Pattern | Description |
---|---|---|
Authentication | /auth/** |
Login, refresh tokens, etc. |
Users | /users/** |
User management and profiles |
Journals | /travel/journals/** |
Travel journal operations |
Itineraries | /travel/itineraries/** |
Trip planning features |
Social | /social/posts/** |
Social sharing functionalities |
Chat | /social/chats/** |
Messaging system |
AI | /ai/** |
AI-powered recommendations |
Full API documentation is available via Swagger UI at /swagger-ui.html
when running the application.
Roamance implements robust security measures:
- JWT Authentication - Secure, token-based authentication
- Role-Based Access - Granular permission system
- Encryption - Sensitive data encrypted at rest
- Input Validation - Protection against injection attacks
- HTTPS - Encrypted data transmission
Roamance leverages AI for enhanced user experiences:
- Trip Recommendations - AI-generated travel itineraries
- Content Analysis - Automatic tagging and categorization of travel posts
- Image Understanding - Extract information from travel photos
- Smart Search - Semantic search across travel content
- Proofing Tools - AI assistance for travel writing
Roamance is open-source software licensed under the MIT License. See the LICENSE file for details.
Made with β€οΈ by the Roamance Team