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.
- 🖥️ 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
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| Layer | Tech Stack |
|---|---|
| Frontend | React, TailwindCSS, Vite, react-i18next |
| Backend | Spring Boot, Java 21, Spring Security, JWT |
| Payments | Stripe API (secure online transactions) |
| 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.
- JWT authentication for all admin endpoints
- Email credentials and API keys are securely managed via
.envfiles - Stripe payment secret never exposed in frontend
- HTTPS support ready for production deployment
-
Create a
.envfile 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
-
Build and run with Docker:
docker-compose up --build
- 👨💻 Konstantinos Smaragdas (GitHub)
- 👨💻 Ioannis Xypteras (GitHub)
MIT License – Feel free to use this project as inspiration, but do not publish it as your own portfolio.
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.