Skip to content

JohnXyp/Rental-Car-Project

 
 

Repository files navigation

🚗 AutoMR – Car Rental Booking Platform!

Welcome to AutoMR, a modern and responsive car rental web platform built by Konstantinos Smaragdas and Ioannis Xypteras!
This project was designed to be a user-friendly, secure, and scalable solution for managing car rental bookings online.


✨ Features

  • 🖥️ Frontend built with React + Vite for lightning-fast performance
  • 🛡️ Secure backend built with Spring Boot (Java) and JWT authentication
  • 💳 Stripe integration for secure online payments
  • 📧 Email notifications via Gmail SMTP
  • 🐳 Fully Dockerized environment with PostgreSQL
  • 👨‍💻 Simple admin panel for managing bookings and rental settings
  • 🌍 Multi-language support using react-i18next
  • ✅ Mobile-first and responsive design
  • 🔄 Smart logic to prevent overbooking and handle cancellations

📁 Project Structure

Rental-Car-Project/
│
├── backend/                # Spring Boot backend
│   ├── src/main/java/
│   │   └── com/automr/
│   │       ├── controller/ # REST controllers (bookings, settings, stripe)
│   │       ├── service/    # Service layer for business logic
│   │       ├── model/      # Data models (Booking, Settings)
│   │       └── security/   # JWT & Spring Security
│   ├── resources/
│   │   └── application.properties
│   └── Dockerfile
│
├── frontend/               # React frontend
│   ├── src/
│   │   ├── pages/          # Booking and Admin pages
│   │   ├── components/     # Reusable UI components
│   │   ├── context/        # Global state (e.g., settings)
│   │   └── lib/            # API logic & helpers
│   └── Dockerfile
│
├── .env                    # Central environment config
├── docker-compose.yml      # Root Docker orchestration
└── README.md               # Project info

🧱 Technologies & Tools

Layer Tech Stack
Frontend React, TailwindCSS, Vite, react-i18next
Backend Spring Boot, Java 21, Spring Security, JWT
Payments Stripe API (secure online transactions)
Email Gmail SMTP (JavaMailSender)
Database PostgreSQL
DevOps Docker, Docker Compose
Versioning Git, GitHub

We chose this tech stack because it's modern, efficient, and easily deployable across platforms. React + Vite gives a super-fast frontend. Spring Boot ensures enterprise-grade backend performance. Docker makes deployment reproducible and clean.


🔐 Security Highlights

  • JWT authentication for all admin endpoints
  • Email credentials and API keys are securely managed via .env files
  • Stripe payment secret never exposed in frontend
  • HTTPS support ready for production deployment

📦 Deployment Instructions

  1. Create a .env file in the root:

    POSTGRES_DB=automr_db
    POSTGRES_USER=postgres
    POSTGRES_PASSWORD=yourpassword
    
    SPRING_DATASOURCE_URL=jdbc:postgresql://automr_postgres:5432/automr_db
    SPRING_DATASOURCE_USERNAME=postgres
    SPRING_DATASOURCE_PASSWORD=yourpassword
    
    SPRING_MAIL_USERNAME=[email protected]
    SPRING_MAIL_PASSWORD=your_app_password
    
    STRIPE_SECRET_KEY=sk_test_...
    VITE_STRIPE_PUBLISHABLE_KEY=pk_test_...
    VITE_API_BASE_URL=http://localhost:8080/api
    
    ADMIN_USERNAME=admin
    ADMIN_PASSWORD=admin123
  2. Build and run with Docker:

    docker-compose up --build

👥 Authors


📄 License

MIT License – Feel free to use this project as inspiration, but do not publish it as your own portfolio.


💬 Feedback

We’d love to hear your thoughts. Feel free to open issues or contribute!


Made with ❤️ by two students who love clean code and fast cars.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 54.0%
  • Java 40.5%
  • HTML 4.3%
  • Other 1.2%