Commit d35ec6c8 authored by Andre Blanke's avatar Andre Blanke
Browse files

Update README.md

parent e42adc72
# Project structure
# Distributed Systems project: A URL shortener
## Table of contents
- [Project structure](#project-structure)
- [Overview](#overview)
- [Deployment](#deployment)
- [API](#api)
## Project structure
```text
├─ ansible/ # Contains Ansible playbooks used by Vagrant
......@@ -21,6 +30,23 @@
└─ Vagrantfile # Virtual machine configurations
```
# API
## Overview
This project realizes a basic URL shortener using Django on the backend and Angular on the frontend.
Long URLs can be entered and will then be sent to the backend which assigns a unique ID for the
provided URL. The short URL containing the ID is then returned back to the client making the request.
Accessing the short URL will then cause a redirect to the associated long URL stored in the database.
## Deployment
The project is currently deployed using an Apache Web Server instance which serves the frontend itself
and redirects requests other than `/index.html` to the Django backend.
Vagrant can be used to orchestrate multiple virtual machines provisioned using Ansible with multiple
worker servers running the web server and a single server acting as a load balancer at the present time.
## API
See [API.md](API.md) for more information on the structure of the API.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment