https://github.com/francescobarbieri/ds-project
Domain Broker simulator - Distributed System Course's Project, Unimib 2024
https://github.com/francescobarbieri/ds-project
java rest-api servlet socket webserver
Last synced: 12 months ago
JSON representation
Domain Broker simulator - Distributed System Course's Project, Unimib 2024
- Host: GitHub
- URL: https://github.com/francescobarbieri/ds-project
- Owner: francescobarbieri
- Created: 2024-06-02T16:57:26.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-29T13:04:16.000Z (about 2 years ago)
- Last Synced: 2025-06-11T05:04:14.160Z (about 1 year ago)
- Topics: java, rest-api, servlet, socket, webserver
- Language: Java
- Homepage:
- Size: 9.35 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Distributed System Project 2023/2024 - Domain Broker
## Group components
* Francesco Barbieri 856375 f.barbieri17@campus.unimib.it
## Description
The project consists of the design and development of a distributed application for the purchase and management of Internet domains.
Here you can find the full [specification pdf](/_utils/specifications.pdf).





## System Components
- **Web Client**: Provides a user-friendly web interface for domain registration and management. It communicates with the Web Server via REST APIs.
- **Web Server**: Handles domain management logic and serves as an intermediary between the Web Client and the database. It exposes REST APIs to the Web Client and utilizes a custom TCP socket-based protocol to communicate with the database.
- **Database**: A minimal, document-oriented, agnostic database that stores data as unprocessed strings. It communicates with the Web Server via TCP sockets.
## Compilation and Execution
Using Visual Studio Code:
* Client Web: VS Code live server
* Server Web: Open a new terminal and run `mvn jetty:run`
* Database: Open a new terminal and run `mvn compile` first, then `mvn exeec:java`
## Ports and addresses
The web server listens to the `localhost` address on port `8080`. The database listens to the same address as the web server but on port `3030`.