Skip to content

Repository files navigation

HomeSwap — Full Stack Web Platform

About the Project

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.

Features

  • 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

Tech Stack

Frontend

  • React 19 + Vite
  • React Router
  • Redux Toolkit
  • Tailwind CSS
  • Axios
  • ESLint

Backend

  • Python 3.12
  • Django 6
  • Django REST Framework
  • PostgreSQL
  • JWT authentication (SimpleJWT)
  • drf-yasg (Swagger API docs)
  • Gunicorn
  • Docker-ready architecture

Project Structure

homeswap/
├── frontend/   # React + Vite client
└── backend/    # Django REST API

Getting Started

Prerequisites

Make sure you have installed:

  • Node.js (v18+ recommended)
  • Python 3.12
  • PostgreSQL
  • Docker & Docker Compose (optional)

Frontend Setup

  1. Navigate to the frontend folder:
cd frontend
  1. Install dependencies:
npm install
  1. Start the development server:
npm run dev

The frontend will run locally at:

http://localhost:5173

Backend Setup

  1. Navigate to the backend folder:
cd backend
  1. Install dependencies:
pip install -r requirements.txt
  1. Apply migrations:
python manage.py migrate
  1. 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/

Future Improvements

  • Advanced search and filtering for properties
  • Messaging system between users
  • Notifications for swap requests
  • Improved test coverage
  • Performance optimizations

Team

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

About

Full Stack group project: a home-swapping web platform addressing housing scarcity in Switzerland, featuring authentication, property listings, swap workflows, and a user dashboard.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages