Skip to content

The Atlas backend serves as the engine of the platform — managing data, authentication, and AI-driven features through a modular and secure RESTful API. Built with Java 21 and Spring Boot 3, it provides JWT and Google OAuth authentication, Supabase integration for image storage, and Google Mail Service support for password recovery.

Notifications You must be signed in to change notification settings

browny26/atlas-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚙️ Atlas Backend

Java Spring Boot PostgreSQL Supabase Render Maven

Atlas Backend is the powerful engine behind the Atlas travel platform, providing secure APIs, intelligent travel recommendations, and seamless integration with external services such as Amadeus, Supabase, and Google Mail Service.
Built for scalability, security, and speed with Spring Boot 3 and Java 21.


👩‍💻 Developer

Luisa Cerin Ogbeiwi


🔗 Integrations

  • Amadeus API → Flight & activity data
  • Supabase → Secure file and image storage
  • Google OAuth + JWT → Authentication & authorization
  • Google Mail Service → Password reset via email
  • Groq + OpenAI → AI-driven travel recommendations

🌐 Live Demo

atlas.vercel.app

🗺️ Related Project

Atlas Frontend (React + Vite)


✨ Features

  • 🔐 User Authentication: Secure login & registration with JWT and Google OAuth
  • 🧳 Itinerary Management: Create, update, and retrieve personalized itineraries
  • 🤖 AI-Powered Suggestions: Generate smart travel plans via Groq + OpenAI
  • ✈️ Amadeus Integration: Access flight and activity data in real time
  • 🖼️ File Storage: Upload and manage images through Supabase
  • 📧 Password Reset: Send recovery emails using Google Mail Service
  • 🌐 CORS Configuration: Secure cross-origin communication with the frontend

🧩 Tech Stack

  • Language: Java 21
  • Framework: Spring Boot 3
  • Security: Spring Security (JWT + Google OAuth)
  • Database: PostgreSQL
  • AI Integration: Groq + OpenAI
  • Storage: Supabase
  • Mail Service: Google Mail API
  • Build Tool: Maven
  • Deployment: Render
  • Containerization: Docker

🚀 Getting Started

✅ Prerequisites

  • Java 21 or higher
  • Maven
  • PostgreSQL
  • (Optional) Docker

🏗️ Build and Run

  1. Clone the repository:

    git clone https://github.com/browny26/atlas-backend.git 
    cd atlas-backend
    
  2. Build the project:

    ./mvnw clean install
    
  3. Run the application:

    ./mvnw spring-boot:run
    
  4. The API will be available at:

    http://localhost:8080
    

⚙️ Configuration

All environment-specific configurations are defined in
src/main/resources/application.properties

Update this file with your own credentials and API keys:

  • Database credentials
  • JWT secret key
  • Google OAuth credentials
  • Supabase URL and API key
  • Amadeus API key

📡 API Endpoints

Endpoint Description
/api/auth Authentication & authorization
/api/user User management
/api/itinerary Create, edit & retrieve itineraries
/api/amadeus Integration with Amadeus travel API
/api/storage File upload & download via Supabase

🧭 Architecture Overview

The backend follows a modular layered architecture, ensuring scalability and maintainability.

graph TD;
  User --> Frontend[React App];
  Frontend --> Backend[Spring Boot API];
  Backend --> PostgreSQL[(Database)];
  Backend --> Supabase[Image Storage];
  Backend --> Google[OAuth & Mail Service];
  Backend --> Amadeus[Travel API];
  Backend --> Groq[AI Recommendations];
Loading

📄 License

This project is licensed under the MIT License.


💬 Contact

For questions or collaborations:
📧 Luisa Cerin Ogbeiwi

About

The Atlas backend serves as the engine of the platform — managing data, authentication, and AI-driven features through a modular and secure RESTful API. Built with Java 21 and Spring Boot 3, it provides JWT and Google OAuth authentication, Supabase integration for image storage, and Google Mail Service support for password recovery.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published