Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create Adpool Service Microservice #225

Open
BrosG opened this issue May 26, 2023 · 0 comments
Open

Create Adpool Service Microservice #225

BrosG opened this issue May 26, 2023 · 0 comments

Comments

@BrosG
Copy link
Contributor

BrosG commented May 26, 2023

Description

The Adpool Service is responsible for managing all campaign-related operations. This includes campaign creation, updating, retrieval, and deletion. The service will be a self-contained application with its own database and will interact with other services through well-defined APIs.

Proposed Functionality

Campaign Creation: The service should provide an API for campaign creation. This will include validation of the campaign's data, storing the new campaign's data in the database, and returning the campaign ID to the user.

Campaign Updating: The service should provide an API for updating an existing campaign. This will involve checking the submitted updates against the stored campaign data.

Campaign Retrieval: The service should provide APIs for retrieving campaign data. This includes operations like getting the details of a specific campaign, listing all campaigns for a user, or searching for campaigns based on certain criteria.

Campaign Deletion: The service should provide an API for deleting a campaign. This will involve removing the campaign's data from the database.

Implementation Steps

Extract Campaign-Related Code: Identify and separate all the campaign-related code from the current monolith into the new Campaign Service. This includes relevant parts from the campaigns.model.js, campaign.controller.js, and any other relevant parts.

Create Campaign Service APIs: Design and implement the APIs for campaign creation, updating, retrieval, and deletion.

Setup Database for Campaign Service: As part of the microservice architecture, the Campaign Service should have its own separate database. We need to set this up and migrate any existing campaign data to it.

Update Other Services to Use Campaign Service APIs: Any other service that needs to perform campaign-related operations should do so by calling the Campaign Service's APIs. Update the code in these services to replace direct database accesses with API calls.

Deploy Campaign Service: Deploy the Campaign Service as a standalone application. This could involve setting up a new server or using a service like AWS Lambda.

Test Campaign Service: Thoroughly test the Campaign Service to ensure it works correctly. This should include both functional testing of the APIs and load testing to ensure it can handle the expected number of requests.

Please discuss this proposal and let me know of any adjustments or additions that should be made. Once we've finalized the specifications, we can break this down into smaller tasks and start the implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant