A full-stack, API-first, feature rich insurance platform built with Django (Backend) and Svelte 5 (Frontend). This repository is the project work for the L-31 degree in Digital Enterprise Informatics
The project is divided into two independent macro-components that communicate via a REST API:
backend/): A robust and secure API built with Django and Django REST Framework. It handles business logic, user authentication, and data persistence.frontend/): A reactive and modern user interface developed with Svelte 5 and SvelteKit. It is compiled as a static site and interacts with the backend in a fully decoupled manner.To run the project locally, you need to start the backend server and the frontend development server separately.
pip and venv for Python package managementnpm (or another package manager like pnpm or yarn)Navigate to the backend directory:
cd backend
(optional) Create and activate a Python virtual environment:
# On macOS/Linux
python3 -m venv .venv
source .venv/bin/activate
# On Windows
python -m venv .venv
.\.venv\Scripts\activate
Install Python dependencies:
pip install -r requirements.txt
Run database migrations:
This command will create the db.sqlite3 file with the required data schema.
python manage.py migrate
(Optional) Create a superuser to access the Django admin panel (/admin):
python manage.py createsuperuser
Start the Django development server:
python manage.py runserver
The backend is now running at http://localhost:8000.
Open a new terminal and navigate to the frontend directory:
cd frontend
Install Node.js dependencies:
npm install
Configure environment variables:
In the frontend/ folder, you will find a file named .env.example. Rename it to .env:
mv .env.example .env
Open the new .env file and ensure the PUBLIC_BACKEND_URL variable points to your local backend server. The default value is already configured for local development.
# frontend/.env
PUBLIC_BACKEND_URL="http://localhost:8000"
Start the SvelteKit development server:
npm run dev
The frontend is now accessible in your browser at http://localhost:5173.
At this point, the application is fully functional locally. The SvelteKit UI at localhost:5173 will communicate with the Django API at localhost:8000.
This project is licensed. See the LICENSE file for more details.