A Spring Boot web application for analyzing and getting report of any public page on Instagram, based on microservice structure.
- All services are connected to this to be discovered by one integrated service for solving load balancing issues
- Routes the users requests to the appropriate service
- Recieves raw data from
Scraper
and gives analyzed data toClient
- Scrapes information of the requested user and returns to
Analyzer
- At startup, it logins to Instagram server, so the
username
andpassword
of an Instagram user must be provided inapplication.properties
.
- The client-side shown to the end-user
Services must be run in the following order:
- Eureka Discovery
- Zuul API Gateway
- Scraper
- Analyzer
- Client
Wait for one minute, then check http://localhost:8011/client
Service | URL |
---|---|
Eureka Discovery | http://localhost:8010 |
Zuul API Gateway | http://localhost:8011 |
Analyzer | http://localhost:8011/analyzeByUsername/{username} |
Scraper | http://localhost:8011/scrapeByUsername/{username} |
Client | http://localhost:8011/client |
Open the file Application Structure in draw.io
Meta | Value |
---|---|
Project | Maven Project |
Language | Java 8 |
Spring Boot | 2.2.6 |
Group | com.jalizadeh.sbia |
Artifact | service-<artifact> |
Name | service-<artifact> |
Description | Spring Boot Instagram Analyzer - <more> |
Package name | com.jalizadeh.sbia.<artifact> |