Repository that contains the files of the project developed during the Distributed Systems class, performed in the 3rd year of my BSc in Computer Science at Universidade de Coimbra. Description below.
A distributed search engine. It includes a fault-tolerant backend and a frotend.
It is a full-stack web application built with Java and Struts2 and its architecture is as follows.
Alongside with the above technologies, other topics were aborded:
- Server synchronization and effort division
- Websockets (for client notifications)
- HTTPS
- REST API (using Yandex translations)
- Oauth3 (logging in with Facebook)
- MVC model
- Authorization
- Authentication
- Exception handling
- Failover handling (eg. when the primary RMI server fails, the backup RMI server takes action and becomes primary)
- Web-crawling (using jsoup)
The full project guide and feature checklist can be found in the Documents/ folder.