Skip to content

alonl/IDC-NetworksLab02

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Classes Roles:

Main:
MainRunner.java - The main runner of the application. Runs the HTTP server and the underlying app.
MainRouter.java - The main router of the app. Gets the HTTP request (method, path, cookie...) and routes to the designated request handler.
MainWebServer.java - The HTTP server runner.

SMTP App:
SMTPApp.java - The app runner.
SMTPThreadPool.java - Multi-threaded, asynchronous non-blocking (thread pool) SMTP client.
SMTPClient.java - Simple SMTP for sending email messages.

Application:
ManagerAbstract.java - Abstract Manager for the application - user side logic - of our web app.
ManagerPoll.java - Handles Poll requests.
ManagerReminders.java - Handles Reminder requests.
ManagerTasks.java - Handles Task requests.
ManagerResources.java - Handles requests for static resources.

Models: - Basic object classes to represents our models.
ModelAppResponse.java - Represents the HTTP response from the underlying app.
ModelUser.java - Represents a user (by email address).
ModelMailMessage.java - Represents a mail message.
ModelBaseItem.java - The super class of an item to be saved in the database.
ModelScheduledItem.java - Extends ModelBaseItem. Adds functionality for "scheduled items".
ModelPoll.java - Extends BaseItem. Represents a Poll.
ModelReminder.java - Extends ModelScheduledItem. Represents a Reminder.
ModelTask.java - Extends ModelScheduledItem. Represents a Task.

Repository:
RepositoryAbstract.java - Abstract repository for the persistence of our database.
RepositoryAbstractScheduled.java - Extends RepositoryAbstract. Adds scheduled items funcionality.

Business:
ServiceAbstract.java - Abstract service for the business-side of the application.
ServiceAbstractScheduled.java - Extends ServiceAbstract. Holds the nearest job to run, and updates it, if necessary, on every new item.
ServicePolls.java - Extends ServiceAbstract. Handles any Polls actions.
ServiceReminder.java - Extends ServiceAbstractScheduled. Handles any Reminders actions.
ServiceTasks.java - Extends ServiceAbstractScheduled. Handles any Tasks actions.

HTTP Web Server: - All classes from Lab 1
HTTPConstants.java
HTTPMethod.java
HTTPProcessor.java
HTTPRequest.java
HTTPResponse.java
HTTPThreadPool.java

Helpers:
HelperConstants.java - Some app constants
HelperLogger.java - A logger class. Adds date and time, class name and log level to each log message. Can be configured from config.ini.
HelperUtils.java - Some common utils that are used throughout the app.

Jackson JSON De/Serializers:
JsonAnswersDeserializer.java - De/serializes the answers of the polls (CRLF delimited)
JsonAnswersSerializer.java
JsonDateDeserializer.java - De/serializes dates to comply with the UI.
JsonDateSerializer.java
JsonRecipientsDeserializer.java - De/serializes the recipients of the polls (CRLF delimited, colon between recipient and its answer)
JsonRecipientsSerializer.java

Exceptions:
WebServerBadRequestException.java - Represents an error occurred following a bad request. (4xx status code)
WebServerNotFoundException.java - Represents an error occurred following a request for an unknown resource. (404 status code)
WebServerRuntimeException.java - Represents an error occurred in the server. (5xx status code)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages