Arbitra Pulse is a robust Stock Sentiment Analysis API comprising multiple microservices tailored to provide real-time stock information, sentiment analysis, and personalized user experiences. The API's architecture involves the following microservices:
- Authentication Microservice
- Stock Info Microservice
- News Service
- Sentiment Analysis Microservice
- Arbitra Pulse: Stock Sentiment Analysis API
The Authentication Microservice manages user authentication, registration, and watchlist functionality. It offers endpoints for user registration, login, profile updates, and watchlist manipulation.
-
Register User
POST /register
-
User Login
POST /login
-
Update Profile
PUT /profile
-
Get User's Watchlist
GET /watchlist
-
Add to Watchlist
POST /watchlist/add/:symbol
-
Remove from Watchlist
DELETE /watchlist/remove/:symbol
Explore Authentication Microservice
The Stock Info Microservice offers detailed stock information, stock searches, and watchlist management. It fetches real-time stock data from external financial APIs.
-
Retrieve Stock Information
GET /stock/:stockSymbol
-
Search for Stocks
GET /search/:query
-
Get Watchlist
GET /watchlist
-
Add to Watchlist
POST /watchlist/add/:symbol
-
Remove from Watchlist
DELETE /watchlist/remove/:symbol
-
Clear Watchlist
DELETE /watchlist/clear
Explore Stock Info Microservice
The News Service fetches stock-related news articles for relevant sentiment analysis. It provides an endpoint to retrieve news articles for a specific stock symbol.
GET /news/:stockSymbol
The Sentiment Analysis Microservice specializes in real-time sentiment analysis for specific stocks. It seamlessly integrates with the Authentication, Stock Info, and News microservices.
- Analyze Sentiment
GET /sentiment/:stockSymbol
Explore Sentiment Analysis Microservice
The microservices in Arbitra Pulse collaboratively work to offer a seamless and integrated user experience. Here's an overview of their interactions:
-
User Registration and Authentication:
- The Authentication Microservice is responsible for managing user registration and authentication.
- Upon successful authentication, users receive a JWT token, granting access to protected endpoints in other microservices.
-
Stock Information and Watchlist Management:
- The Stock Info Microservice provides real-time stock information, including detailed data and search functionality.
- Watchlist-related operations, such as adding, removing, and retrieving symbols, are handled by the Authentication Microservice.
-
News Article Retrieval:
- The News Service fetches stock-related news articles from external sources.
- The Sentiment Analysis Microservice utilizes these articles for sentiment analysis.
-
Sentiment Analysis Integration:
- The Sentiment Analysis Microservice performs real-time sentiment analysis on specific stocks.
- It seamlessly integrates with the Authentication Microservice to ensure authenticated access to its sentiment analysis endpoint.
The interplay between these microservices ensures a cohesive and responsive user experience. Users can seamlessly register, authenticate, access real-time stock information, manage their watchlist, and receive sentiment analysis—all within the Arbitra Pulse API ecosystem. Each microservice plays a vital role, contributing to the comprehensive functionality of the entire system.
The Arbitra Pulse API leverages the following technology stack:
- Node.js: Runtime environment for server-side applications.
- Express.js: Minimal and flexible Node.js web application framework.
- TypeScript: Statically typed superset of JavaScript for enhanced code quality.
- PostgreSQL: Relational database system for storing user data and application information.
- TypeORM: Object-Relational Mapping (ORM) library for TypeScript and JavaScript.
- Docker: Containerization for seamless deployment across environments.
- Yarn Workspaces: Manages the monorepo structure and dependencies.
Feel free to explore each microservice's dedicated README for more detailed information on how to use them and deploy them locally or in a cloud environment.
Note: Ensure proper security measures when handling sensitive information, such as API keys, credentials, and database configurations.