Project Overview
AdRobot was the first pure backend project you owned independently, back in 2020. It aimed to solve the manpower and efficiency problems the company faced when promoting new IPOs by automating the delivery of marketing messages. At the heart of the system is a WeChat bot that, based on marketing tasks configured in the admin backend, generates images containing stock information on a schedule and automatically sends them to designated WeChat groups - achieving precise, efficient automated marketing.
Technical Architecture
- Core framework:
Spring Boot - Programming language:
Java - Data storage:
MySQL,Redis - Message queue:
Kafka(for logs and async tasks)
Key Features
1. Task Management and Scheduling
- Scheduled tasks: Used the
@Scheduledannotation to implement flexible scheduled task dispatch, with precise control over when marketing messages are pushed. - Task configuration: Developed companion admin backend APIs that let operations staff create, modify, and manage marketing campaigns (Marketing) and concrete push plans (Task).
2. Automated Image Generation
- Dynamic templates: Designed the image generation logic to dynamically pull data for each IPO and render marketing posters that meet the requirements.
- Fonts and compatibility: Solved the missing-font problem in server environments (JRE), ensuring generated images display correctly.
3. WeChat Bot Integration
- Command dispatch: Designed and implemented a complete command dispatch and callback confirmation mechanism, interacting with a third-party WeChat bot service over API.
- Group and friend management: Implemented synchronization and management of WeChat friend and group lists, laying the foundation for precise targeting.
Project Summary
The AdRobot project marked an important milestone in your successful transition from mobile developer to backend developer. Through this project, you:
- Built your ability to independently design and develop backend services, going through the complete lifecycle of a backend project - requirements analysis, technology selection, architecture design, and development and deployment.
- Deepened your hands-on practice with the Spring Boot ecosystem, becoming more proficient with scheduled tasks, database operations (JPA), and inter-service calls.
- Demonstrated strong engineering discipline, using flow diagrams, table schema design, and API documentation (RAP) to keep the project well-standardized and maintainable.
Though modest in scale, this project had everything in place - a comprehensive test of, and boost to, your overall backend capabilities.