This repository contains a microservices-based application for managing stock market-related operations. Each service is responsible for a specific domain, such as company information, sector information, stock exchange, etc. The project includes an Angular frontend for user interaction and a Jenkins pipeline for continuous integration and deployment.
Angular/
- Contains the Angular frontend for the application.
- User-friendly interface for managing and displaying stock market data.
- Updated to version 2 for improved features and compatibility.
Each microservice handles a distinct functionality within the application:
-
company-info-service/
- Manages data related to companies listed on the stock exchange.
- Includes endpoints for CRUD operations on company information.
-
sector-info-service/
- Manages sector-related data.
- Provides APIs to fetch and manipulate sector information.
-
stock-exchange-service/
- Handles data and operations related to stock exchanges.
- Includes APIs for fetching stock exchange details and performing relevant operations.
-
excel-service/
- Handles the import and export of data in Excel format.
- Facilitates data uploads and downloads for better management.
-
login-service/
- Manages authentication and user login.
- Includes functionality for user validation and session management.
-
discovery-server/
- Acts as a service discovery server.
- Helps in identifying and routing requests to the appropriate microservices.
-
.project
- Basic templating for the project, initialized during the first commit.
-
Jenkins-pipeline
- Configuration for the Jenkins pipeline to automate the build, test, and deployment process.
- Streamlines continuous integration and deployment (CI/CD).
git clone <repository_url>
cd <repository_folder>
- Frontend:
- Angular CLI installed (
npm install -g @angular/cli
). - Node.js and npm installed.
- Angular CLI installed (
- Backend:
- Java (JDK 8 or above).
- Maven for building microservices.
- Spring Boot framework for running services.
- Database:
- Relational database (e.g., MySQL or PostgreSQL) for storing application data.
- Service Discovery:
- Eureka server for service discovery.
- Navigate to the Angular directory:
cd Angular
- Install dependencies:
npm install
- Run the application:
ng serve
- Access the application at
http://localhost:4200
.
- Navigate to each microservice folder (e.g.,
company-info-service
) and build:mvn clean install
- Run the services:
java -jar target/<service-name>.jar
- Navigate to the
discovery-server
folder and build:mvn clean install
- Run the discovery server:
java -jar target/discovery-server.jar
- Set up a Jenkins pipeline using the configuration file (
Jenkins-pipeline
) to automate the build and deployment process.
- Modular Design: Each service operates independently, ensuring flexibility and scalability.
- Angular Frontend: Provides an intuitive interface for users.
- Excel Integration: Allows easy import and export of data.
- Service Discovery: Facilitates smooth communication between services.
- CI/CD Pipeline: Automated Jenkins pipeline for continuous integration and deployment.
- Implement advanced analytics for stock market data.
- Add user role management for restricted access to specific services.
- Optimize performance for high data volumes.
This project is licensed under the MIT License.