Helper data and functions should be in a microservice? [closed] - microservices

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 months ago.
Improve this question
I am creating an application using microservice architecture. I have broken down the domains into one microservice. I have two questions regarding handling additional data and functions.
I have created an MS named ms-notification to handle all the users' notifications such as SMS, Email, Push notifications,...
When I need to send a notification to a user, I publish an event and consume that in ms-notification. Is it a good approach to do this?
I have a list of Courses that contains about 2000 Courses(Id, name, ...) and CourseId is being used approximately across all the microservices. Should I store these 2000 Courses in each microservice's database? (I am using a single database per microservice) Or should I create a new microservice and expose the 2000 list with an API controller?
Thank you in advance!

Yes, it is a good approach to have it Event-Driven, however you can also have separate microservices for each type of notification, because they are independent, i.e.,
SMS Microservice
Email Microservice
Push Notifications Microservice
┌─────────────┐
│ Other │
│Microservices│
└──────┬──────┘
│
│
Publish
SMS
Email
Notif Events
│
▼
┌──────────────┐
│ Event Queue │
└──────────────┘
▲
│
│ Subscribe
│
┌────────────────┼────────────────┐
│ │ │
│ │ │
┌──────┴──────┐ ┌───────┴───────┐ ┌──────┴───────┐
│ SMS │ │ Push Notif. │ │ Email │
│ Microservice│ │ Microservice │ │ Microservice │
└─────────────┘ └───────────────┘ └──────────────┘
This will result in a cleaner architecture.
You should create a new microservice. Each microservice should be the owner of its database, i.e., if you want to consume data from another microservice you must do so by invoking a public API.

Related

Does WooCommerce, BigCommerce or Magento offer a Multipass feature like Shopify Plus? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 1 year ago.
Improve this question
Shopify Plus has a feature called Multipass (https://shopify.dev/api/multipass) that's meant for store owners who have a separate website and a Shopify store. It redirects users from the website to the Shopify store and seamlessly logs them in with the same email address they used to sign up for the original website.
Does anyone know if WooCommerce, BigCommerce or Magento have a similar feature?
BigCommerce has very similar functionality to allow this using the Customer Login API that uses JWT (JSON Web Tokens) to allow a customer to be logged in without requiring them to re-enter their credentials. There are a number of use-cases where this is useful, including the one you describe.
https://developer.bigcommerce.com/api-docs/storefront/customer-login-api

Ionic with laravel as backend concept [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
I'm confused because i've heard that we create an api using Laravel and could use Ionic to call the api and access the database. As Laravel and Ionic are created in a separate folder, do we have to publish both of them online? I mean if i just publish ionic, then how does ionic communicate with Laravel when Laravel isn't being publish ? and if so,it means we have develop both an app and a website right ? Thanks in advance
You would have IONIC as a mobile application calling your RESTAPI (Laravel) through AJAX.
Think about it as two separate projects. IONIC is your frontend and Laravel is your backend.
Ideally your API would be published on the same level as your IONIC app. If you are planning to use your IONIC app only on a local network then the API have to be published on that local network. If you are planning to use your IONIC app on the "internet" then your API should be published to internet access.
On a side note: Wherever you publish your API you should strongly consider Laravel Passport to protect you API.
I also recommend reading Fielding's REST Paper to have better understanding about REST.

Where is a better place to place Laravel Migration? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
I'm creating an erp with laravel + larvel nova, a rest api with laravel and frontend with vuejs. My doubt is: where should i build my database migration as better practice, should i put my migration in my erp project or in my api rest project. Both will use the same database.
My suggestion is to create your migration in Rest Api beacuse api most work is in database and you want to give data(which is in Database) to user in most cases with Api!

How can I create trial account for 30 days for MS Dynamics COMMON DATA SERVICE (CDS 2.0)? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
I want to create trial account for MS Dynamics COMMON DATA SERVICE (CDS 2.0)?
If so, can anybody please provide link where I can create account or provide steps if I need to configure anything for that?
Do all this in In-Private/Incognito browser sessions to avoid work account Single Sign On/default cred signins.
Create a E2 trial by signing up (don’t login with employer/partner/personal email, only signup). This will give you .onmicrosoft.com domain & E2 license by default. You can tailor the instance for any Sales, Service, Marketing modules or leave it.
Then login to Admin, create a new environment & database. It will create default solution & few OOB entities (+ test data). This is what CDS2.0 in other words Dynamics 365 CRM v9.
Then login to PowerApps, switch to Model-driven from Canvas in left bottom corner. You will see all the entities, then you can customize there itself or click Advanced to go to regular CRM solution area.

How to send SMS in laravel [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 1 year ago.
Improve this question
I created a food ordering system using Laravel. Now I want to send confirmation SMS automatically to the customer when their order received I am creating this project as my university project, not for commercial use so are there any free services that can I use?
These types of services almost always have a cost. They have been created via someone's time and efforts, and they charge for this.
That being said, there are some VERY cheap options out there. Here are probably the top 2:
Twilio
Plivo
They both have great APIs and run at less than an American penny.
For example, to send a text using Plivo:
$response = $client->messages->create(
'14153336666',
'14156667777',
'Test Message'
);
There are no free services but very very cheap services available for SMS. These cheap services are usually locale to a country.
Like Nigeria has BulkSmsNigeria, etc. Suggest you to google for "send sms services" and you'll find many.
Now using them in Laravel is a cakewalk with the Laravel SMS API Plugin. It integrates with the Laravel notification system as well. Go through the plugin documentation for an easy understanding.
You can use SMSFactor's API alongside with their Laravel Package to easily send SMS. You just need to create an account that comes with 10 free SMS so you can try it out. Then sending an SMS would look like this:
Message::send([
'to' => '33600000000',
'text' => 'Did you ever dance whith the devil in the pale moonlight ?'
]);
print_r($response->getJson());
For sending text message , there are several laravel packages available , i basically do use VONAGE package for sending text message .
register on vonage's official site
add test number
create your route
set up your controller according to your requirement as shown below .
For better understanding you can also read the full article sending text message from laravel

Resources