HomeSwap is a Full Stack group project that implements a web platform for swapping homes, designed to help address housing scarcity in Switzerland.
The platform allows users to authenticate, browse property listings, view individual properties, and complete a structured home swap process. It also includes a personal user dashboard for managing listings, swaps, and account information.
The project focuses on building a modern, scalable Full Stack architecture with a React frontend and a Django REST backend.
- Complete user authentication (JWT-based)
- Landing page and responsive UI
- Property listings and search/browsing
- Single property detail pages
- Full home swap workflow implementation
- User dashboard for managing properties and swaps
- REST API with documented endpoints
- Image handling and media support
- React 19 + Vite
- React Router
- Redux Toolkit
- Tailwind CSS
- Axios
- ESLint
- Python 3.12
- Django 6
- Django REST Framework
- PostgreSQL
- JWT authentication (SimpleJWT)
- drf-yasg (Swagger API docs)
- Gunicorn
- Docker-ready architecture
homeswap/
├── frontend/ # React + Vite client
└── backend/ # Django REST API
Make sure you have installed:
- Node.js (v18+ recommended)
- Python 3.12
- PostgreSQL
- Docker & Docker Compose (optional)
- Navigate to the frontend folder:
cd frontend
- Install dependencies:
npm install
- Start the development server:
npm run dev
The frontend will run locally at:
http://localhost:5173
- Navigate to the backend folder:
cd backend
- Install dependencies:
pip install -r requirements.txt
- Apply migrations:
python manage.py migrate
- Run the development server:
python manage.py runserver
The backend API will be available at:
http://127.0.0.1:8000
Swagger API documentation:
http://127.0.0.1:8000/swagger/
- Advanced search and filtering for properties
- Messaging system between users
- Notifications for swap requests
- Improved test coverage
- Performance optimizations
This project was developed as a collaborative group project as part of a Full Stack course.
Thanks for both visitig my profile and exploring my experiences during the Full Stack Development Course!
- Gil