GitHub Analysis Profiles is a Telegram bot that analyzes the activity of a GitHub profile by username. It is built with Spring Boot and uses GraphQL to perform requests to the GitHub API.
Bot: @GithubAnalysisBot
- Public Repositories
- Commits
- Forks
- Issues
- Pull Requests
- Code Reviews
- Followers
- Following
- Stars (Starred repositories)
- Stargazers (number of users who starred public repositories)
- Java 21
- GraphQL
- GitHub GraphQL API
- Spring Boot
- WebClient
- JUnit5
- CI/CD & Tools:
java-project-99
├── .github/ # CI configs (GitHub Actions, SonarQube)
├── src/
│ ├── main/
│ │ ├── java/telegram/bot/
│ │ │ ├── component/ # Application properties (Telegram, GitHub)
│ │ │ ├── config/ # WebClient config
│ │ │ ├── enums/ # Constants
│ │ │ ├── exception/ # Custom exceptions
│ │ │ ├── handler/ # Global Exception Handler
│ │ │ ├── dto/ # DTO classes for data transmission
│ │ │ ├── repository/ # Repository
│ │ │ ├── service/ # Business logic
│ │ │ ├── telegram/ # Telegram bot entry point
│ │ │ ├── userCountStatistic/ # Entyty classes
│ │ │ ├── util/ # Utility classes
│ │ │ └── AppApplication.java # Spring Boot application entry point
│ │ └── resources/
│ │ └── application # Spring config files
│ └── test/
│ └── java/telegram/bot/
│ ├── service/ # Tests
│ └── util/ #
├── build.gradle.kts # Gradle assembly (Kotlin DSL)
├── Makefile # Build, run and test commands
└── README.md
Developed as part of our own pet project
Author: sergeycherkasovv
Email: [email protected]