This project is a microservices architecture for an email client core system. It connects with Outlook, manages email data, and ensures scalability and performance.
Handles user management, including creating users and linking Outlook accounts.
Responsible for syncing emails from Outlook to the local database.
Provides access to email data stored in the local database.
Handles sending notifications to users.
Used for storing and querying email data.
Stock Exchange Interface.
Version:- 1.0
Git clone :-https://github.com/debrajpaul/email-engine-core.git
Set up all dependencies mentioned below
Summary of set up:- Clone the file from repository and follow the "deployment instructions".
- Docker
- Node.js
- npm
All dependencies are listed in package.json file
* In terminal go to your project directory
* cd user-service
* npm install
* cd ../email-sync-service
* npm install
* cd ../email-data-service
* npm install
* cd ../notification-service
* npm install
* cd ..
Create a .env file in the root directory and add the following configurations:
# Common configuration
NODE_ENV=development
# Outlook configuration
OUTLOOK_CLIENT_ID=your_outlook_client_id
OUTLOOK_CLIENT_SECRET=your_outlook_client_secret
OUTLOOK_REDIRECT_URI=http://localhost:3004/users/outlook-callback
OUTLOOK_BASE_URL=https://login.microsoftonline.com/common/oauth2/v2.0
# Elasticsearch configuration
ELASTICSEARCH_NODE=http://localhost:9200
In terminal go to your project directory
* Build and start the services using Docker Compose:
* docker-compose up --build
In terminal go to your project directory
* Each service has its own set of unit tests. To run the tests:
* cd user-service
* npm test
* cd ../email-sync-service
* npm test
* cd ../email-data-service
* npm test
* cd ../notification-service
* npm test
Go to your default browser or chrome & paste this URL
* http://localhost:{pre-service-port}/swagger-ui/
Debraj Paul
contact info:- [email protected]
LinkedIn:- https://www.linkedin.com/in/debraj-paul
Apache License