Skip to content

firateski/NotificationHub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java CI with Maven

Notification Hub Project

Usage

1- Create a new company:

Company company = new Company();
company.setId(1);
company.setLanguage(Language.TR);
company.setName("Trendyol");

2- Create a new subscription and assign it to the company:

Subscription subscription = new Subscription();
subscription.setNotificationType(Email.class.getName());
subscription.setSubscriptionType(SubscriptionType.STANDARD);
subscription.setGetSubscriptionEndDate(new Date());
company.addSubscription(subscription);

3- Create an e-mail or SMS DTO to keep notification details:

EmailDTO emailDTO = new EmailDTO();
emailDTO.setCompany(company);
emailDTO.setEmailFrom("ik@trendyoltech.com");
emailDTO.setEmailTo("firateski@outlook.com");
emailDTO.setSubject("Backend Developer Position");
emailDTO.setMessage("Congrats! You're hired!");

4- Initialize and send the notification:

Notification email = new Email();
email.send(emailDTO);

5- Optionally, you can initialize a language manager and use it, if you need multiple languages:

LanguageManager languageManager = new LanguageManager(company.getLanguage());
String localizedString = languageManager.getString("sample_key")

Project Structure

src
├── main
│   ├── java
│   │   ├── Main.java
│   │   ├── exceptions
│   │   │   ├── CompanyBlacklistedException.java
│   │   │   └── NotSubscribedException.java
│   │   ├── i18n
│   │   │   ├── Dictionary.java
│   │   │   ├── Language.java
│   │   │   └── LanguageManager.java
│   │   ├── model
│   │   │   ├── Company.java
│   │   │   ├── Subscription.java
│   │   │   └── SubscriptionType.java
│   │   ├── notification
│   │   │   ├── Notification.java
│   │   │   ├── NotificationDTO.java
│   │   │   └── channel
│   │   │       ├── email
│   │   │       │   ├── Email.java
│   │   │       │   └── EmailDTO.java
│   │   │       └── sms
│   │   │           ├── Sms.java
│   │   │           └── SmsDTO.java
│   │   ├── subscriptionManager
│   │   │   └── SubscriptionManager.java
│   │   └── util
│   │       └── DateUtil.java
│   └── resources
└── test
    └── java
        ├── i18n
        │   └── LanguageManagerTest.java
        ├── notification
        │   ├── SubscriptionManagerTest.java
        │   └── channel
        │       ├── email
        │       │   └── EmailTest.java
        │       └── sms
        │           └── SmsTest.java
        └── util
            └── DateUtilTest.java

20 directories, 22 files

About

Notification Hub project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages