Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/0xtxbi/arbitra-pulse
leveraging natural language processing and external data sources, arbitra pulse offers sentiment analysis on specific stocks by analyzing stock info and news data
https://github.com/0xtxbi/arbitra-pulse
ai api finance natural-language-processing typescript
Last synced: about 1 month ago
JSON representation
leveraging natural language processing and external data sources, arbitra pulse offers sentiment analysis on specific stocks by analyzing stock info and news data
- Host: GitHub
- URL: https://github.com/0xtxbi/arbitra-pulse
- Owner: 0xTxbi
- License: apache-2.0
- Created: 2023-12-05T18:14:29.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-03-29T15:04:15.000Z (9 months ago)
- Last Synced: 2024-10-14T01:23:18.548Z (2 months ago)
- Topics: ai, api, finance, natural-language-processing, typescript
- Language: TypeScript
- Homepage: https://arbitra-pulse-docs.vercel.app
- Size: 469 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Arbitra Pulse: Stock Sentiment Analysis API
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 Architecture](assets/arbitra-pulse-architecture.jpg)
## Table of Contents
- [Arbitra Pulse: Stock Sentiment Analysis API](#arbitra-pulse-stock-sentiment-analysis-api)
- [Table of Contents](#table-of-contents)
- [Authentication Microservice](#authentication-microservice)
- [Overview](#overview)
- [Endpoints](#endpoints)
- [Explore](#explore)
- [Stock Info Microservice](#stock-info-microservice)
- [Overview](#overview-1)
- [Endpoints](#endpoints-1)
- [Explore](#explore-1)
- [News Service](#news-service)
- [Overview](#overview-2)
- [Endpoint](#endpoint)
- [Explore](#explore-2)
- [Sentiment Analysis Microservice](#sentiment-analysis-microservice)
- [Overview](#overview-3)
- [Endpoint](#endpoint-1)
- [Explore](#explore-3)
- [Interaction Overview](#interaction-overview)
- [How Microservices Interact](#how-microservices-interact)
- [Seamless User Experience](#seamless-user-experience)
- [Technology Stack](#technology-stack)---
## Authentication Microservice
### Overview
The Authentication Microservice manages user authentication, registration, and
watchlist functionality. It offers endpoints for user registration, login,
profile updates, and watchlist manipulation.### Endpoints
1. **Register User**
- `POST /register`
2. **User Login**
- `POST /login`
3. **Update Profile**
- `PUT /profile`
4. **Get User's Watchlist**
- `GET /watchlist`
5. **Add to Watchlist**
- `POST /watchlist/add/:symbol`
6. **Remove from Watchlist**
- `DELETE /watchlist/remove/:symbol`### Explore
[Explore Authentication Microservice](https://arbitra-pulse-auth.onrender.com)
---
## Stock Info Microservice
### Overview
The Stock Info Microservice offers detailed stock information, stock searches,
and watchlist management. It fetches real-time stock data from external
financial APIs.### Endpoints
1. **Retrieve Stock Information**
- `GET /stock/:stockSymbol`
2. **Search for Stocks**
- `GET /search/:query`
3. **Get Watchlist**
- `GET /watchlist`
4. **Add to Watchlist**
- `POST /watchlist/add/:symbol`
5. **Remove from Watchlist**
- `DELETE /watchlist/remove/:symbol`
6. **Clear Watchlist**
- `DELETE /watchlist/clear`### Explore
[Explore Stock Info Microservice](https://arbitra-pulse-stock-info.onrender.com)
---
## News Service
### Overview
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.### Endpoint
- `GET /news/:stockSymbol`
### Explore
[Explore News Service](https://arbitra-pulse-news.onrender.com)
---
## Sentiment Analysis Microservice
### Overview
The Sentiment Analysis Microservice specializes in real-time sentiment analysis
for specific stocks. It seamlessly integrates with the Authentication, Stock
Info, and News microservices.### Endpoint
1. **Analyze Sentiment**
- `GET /sentiment/:stockSymbol`### Explore
[Explore Sentiment Analysis Microservice](https://arbitra-pulse-sentiment-analysis.onrender.com)
---
## Interaction Overview
The microservices in Arbitra Pulse collaboratively work to offer a seamless and
integrated user experience. Here's an overview of their interactions:### How Microservices Interact
1. **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.2. **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**.3. **News Article Retrieval:**
- The **News Service** fetches stock-related news articles from external
sources.
- The **Sentiment Analysis Microservice** utilizes these articles for
sentiment analysis.4. **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.### Seamless User Experience
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.## Technology Stack
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.