Slotify is an educational, full-stack appointment booking application inspired by Reservio.
This project was built for learning purposes and as a portfolio piece, showcasing modern web development practices, clean architecture, and deployment strategies.
β οΈ This is not a commercial project. It is intended purely for educational purposes.
Frontend repo - https://github.com/Jaros-777/slotify-frontend
Backend repo - https://github.com/Jaros-777/slotify-backend
- π§βπ€βπ§ User registration, login, and account management
- π Create, edit, and delete bookings
- π View available time slots and manage appointments
- π± Mobile view available only on Home and Booking pages
- π» Admin interface desktop-only
- ποΈ Customers can book services online
- π΄ Vacation mode for users
- π Client list with CSV export
- π¨ Responsive design and clean UI
- ποΈ Full-stack separation: Frontend + Backend
- π³ Easy setup with Docker Compose or manual setup
- π§Ή Clean, modular, and maintainable codebase for learning purposes
- Framework: React.JS + TypeScript + Vite
- Styling: Tailwind CSS / SCSS
- Containerization: Docker
- API Requests: Axios
- Language: Java 21
- Framework: Spring Boot 3.x
- Database (local): PostgreSQL, Supabase (only for storage profiles and services pictures)
- Database (prod): Supabase
- Build Tool: Maven
- Containerization: Docker
- Docker & Docker Compose for containerized setup
- Environment variables for configuration
- Ready for local development and deployment
You can run the full Slotify application using Docker Compose. Follow these steps carefully.
Clone the main repo, as well as frontend and backend repositories:
# Main repo
git clone https://github.com/Jaros-777/Slotify.git
cd Slotify
# Frontend repo
git clone https://github.com/Jaros-777/slotify-frontend.git frontend
# Backend repo
git clone https://github.com/Jaros-777/slotify-backend.git backendMake sure the folder structure looks like this:
Slotify/
ββ slotify-frontend/ <-- React frontend project
ββ slotify-backend/ <-- Spring Boot backend project
ββ docker-compose.yml-
Locate the file named:
docker-compose.example.yml -
Rename it to remove ".example":
mv docker-compose.example.yml docker-compose.yml -
Edit paths if needed in
docker-compose.ymlto point to the correct frontend and backend folders. For example:
services:
backend:
build:
context: ./backend # <- make sure this points to your backend folder or paste full path e.g. C:\Users\User\Desktop\slotify-backend
frontend:
build:
context: ./frontend # <- make sure this points to your frontend folder or paste full path e.g. C:\Users\User\Desktop\slotify-frontendThis step is important if you cloned the repos into custom folder names.
Build and start all services:
docker-compose up --build
- Backend will be available at: http://localhost:8080
- Frontend will be available at: http://localhost:3000
To run frontend or backend separately, please go to the respective repositories for setup instructions:
- Frontend repo - https://github.com/Jaros-777/slotify-frontend
- Backend repo - https://github.com/Jaros-777/slotify-backend
Each repo contains detailed instructions on installation, environment variables, and running locally.
- This project is a portfolio and educational project, not intended for production.
- Designed to showcase modern web development practices and full-stack architecture.
Filip Jarocki - GitHub profile
This project is licensed under the MIT License. See LICENSE for details.
