27 Commits

Author SHA1 Message Date
tiennm99 3ea1e824fd Refactor app tracking to use app info records
Replaces string-based app tracking in Group with AppleAppInfo and GoogleAppInfo records, enabling storage of additional metadata (e.g., country for Google apps). Updates all related commands and logic to use the new records, improves command argument handling, and enhances output formatting for app lists and checks.
2025-11-06 23:18:49 +07:00
tiennm99 e46c842b3e Add app score checking and refactor app info retrieval
Introduces CheckAppScoreCommand to display app scores and reviews/ratings for Apple and Google apps. Refactors AppStoreScraper and GooglePlayScraper to provide methods for retrieving app scores, reviews, and updated dates, and improves AddAppleAppCommand and AddGoogleAppCommand to validate and fetch app info before adding. Updates AdminRepository to use a common collection and single-key logic, and modifies Constant to use a common collection name.
2025-11-06 22:21:33 +07:00
tiennm99 dac6a82b71 Migrate from Redis to Couchbase for data storage
Replaces Redis with Couchbase as the primary data store. Updates environment variables, dependencies, and Docker Compose configuration to use Couchbase. Refactors repository and model classes to use Couchbase APIs, removes Redis utility and related code, and adds Couchbase utility for collection management. Updates AdminRepository to use 'admin' as the key instead of an empty string.
2025-11-06 20:30:16 +07:00
tiennm99 7363d772ad Update CheckAppCommand.java 2025-11-06 14:40:18 +07:00
tiennm99 56dbe72814 fix(api): add default lang and country 2025-11-06 14:33:02 +07:00
tiennm99 27ef9080a1 Update GoogleAppResponse.java 2025-11-06 14:03:29 +07:00
tiennm99 8bb2122397 Update StoreScrapeBot.java 2025-11-05 23:10:18 +07:00
tiennm99 5554d75534 Add app and group management commands to bot
Introduces commands for adding, deleting, listing, and checking Apple and Google apps per group, as well as group management commands. Refactors models for app and group storage, adds caching for app data, and updates repositories to support cache expiration. Improves bot initialization and command registration logic.
2025-11-05 23:06:24 +07:00
tiennm99 def45c7402 Migrate data storage from Couchbase to Redis
Replaces Couchbase with Redis for data persistence, updating environment variables, Docker Compose files, and repository logic. Removes Couchbase and Jackson dependencies, introduces Gson for JSON serialization, and refactors models and repositories to support Redis. Adds utility classes for Redis and Gson, and updates tests and scrapers to use Gson.
2025-11-05 21:47:58 +07:00
tiennm99 a532c34d99 Update compose.yml 2025-11-05 00:34:17 +07:00
tiennm99 dc2ce111dc Update compose.yml 2025-11-05 00:28:55 +07:00
tiennm99 992ceba83f Update compose.yml 2025-11-05 00:23:10 +07:00
tiennm99 022d201593 Update build.gradle.kts 2025-11-05 00:13:49 +07:00
tiennm99 de687c1a8f Revert "Update build.gradle.kts"
This reverts commit ac4d95aad7.
2025-11-05 00:12:30 +07:00
tiennm99 ac4d95aad7 Update build.gradle.kts 2025-11-05 00:11:36 +07:00
tiennm99 bae876b086 Refactor bot client and add group management commands
Replaced ScoreScrapeBotTelegramClient with StoreScrapeBotTelegramClient and updated related references. Added BaseStoreScraperBotCommand for command error handling. Implemented AddGroupCommand and GetGroupCommand for managing allowed groups via admin commands. Improved CouchbaseUtil to ensure scope and collection creation. Updated logging configuration and environment example. Minor model and repository adjustments for initialization and group handling.
2025-11-04 23:06:46 +07:00
tiennm99 774355ee2b Create log4j2.xml 2025-11-04 21:50:50 +07:00
tiennm99 2230fc2683 Update build.gradle.kts 2025-11-04 21:50:48 +07:00
tiennm99 e96fc0869a Update build.gradle.kts 2025-11-04 21:38:14 +07:00
tiennm99 4bf94aaad4 Add Docker support and environment configuration
Introduced Dockerfile, .dockerignore, and example environment file for containerization. Added compose.yml for Docker Compose setup and renamed docker-compose.dev.yml to compose.dev.yml. Updated build.gradle.kts for Java 21 and shadow plugin, and improved .gitignore and .gitattributes. Refactored Config.java to reorder ENV initialization.
2025-11-04 21:18:28 +07:00
tiennm99 b3cc35b4c2 Integrate Telegram bot with command support
Replaces the previous TelegramBots dependency with the new telegrambots-client, extensions, and longpolling modules. Adds StoreScrapeBot with command handling, including a stub AddGroupCommand, and updates Main to start the bot. Config is extended to support bot credentials and admin IDs, and CouchbaseUtil is simplified to remove example code.
2025-10-30 21:38:39 +07:00
tiennm99 9bde4fcecd Refactor models and add repository layer
Refactored Admin, AppleApp, GoogleApp, and Group models to extend AbstractModel and use Lombok's @Getter/@Setter. Introduced repository classes for Admin, AppleApp, GoogleApp, and Group, each mapping to a specific collection. Added Env enum and updated Config and AbstractRepository to support environment-based scoping.
2025-10-29 21:12:16 +07:00
tiennm99 3c6d51ffc0 Add abstract model and repository base classes
Introduces AbstractModel and AbstractRepository to provide base classes for data models and repository operations. These classes establish common fields, Couchbase integration, and generic CRUD methods to streamline future model and repository implementations.
2025-10-28 20:40:11 +07:00
tiennm99 44d4b94aef feat: db 2025-10-26 09:58:08 +07:00
tiennm99 35e88de99a feat(api): init 2025-10-26 09:19:36 +07:00
tiennm99 4add2ee5a2 chore: init 2025-10-26 00:06:05 +07:00
Tien Nguyen Minh 0efd277edb Initial commit 2025-10-26 00:02:49 +07:00