LOYALTY PLATFORM
This README provides an overview of the Loyalty Platform, a customer care platform aimed at enhancing customer retention and acquisition for businesses, particularly local establishments with multiple locations.
Process
The development process of the Loyalty Platform was structured into three iterations, each lasting approximately two weeks. The initial iteration focused on extensive brainstorming sessions to analyze client specifications, identify involved actors, and outline all use cases. Subsequent iterations involved:
- Selection of use cases based on a risk-driven strategy.
- Detailed elaboration of selected use cases, including the creation of use case diagrams and sequence diagrams.
- Production of analysis and project class diagrams.
- Further selection and implementation of primary use cases.
The process was extensively documented through Git commits.
Analysis
The platform allows the owner to create a store, loyalty programs (points-based, cashback, tiered, premium, and coalition), marketing campaigns, and publish them. Additionally, it describes the creation of specific profiles for each type of employee and how to assign them a certain set of privileges. The process of consumer enrollment in a loyalty program and redemption of associated benefits during purchases, whether online or in-store, is also outlined. The registration mechanics for each user type on the platform are explained.
Implementation
Selected use cases were implemented using Java, with MySQL database and Spring Boot framework for persistence management. A web service exposing a REST API was developed. Gradle build system was utilized for the project.
Project Description
The Loyalty Platform aims to assist businesses in increasing customer retention, maintaining customer loyalty, and acquiring new customers. Integration with third-party marketing modules (Woocommerce, Prestashop, Shopify, Wordpress) is crucial for engaging online users. The platform targets local businesses with more than two establishments, focusing on objectives such as revenue growth, customer retention, leveraging existing customers for new acquisitions, and building a qualified database.
Main Objectives:
- Increase Revenue: Achieved by increasing visit frequency, average spending, and encouraging unplanned repeat purchases.
- Acquire New Customers: Through positive customer reviews and referral programs.
- Build a Database: For better customer understanding, business valorization, and GDPR compliance.
Visual Concept of the Platform
The platform is divided into two main parts:
Customers:
- Creation of loyalty cards
- Purchase validation
- Customer identification
- View received messages, points history, visits, available coupons
- Manual SMS sending
Backoffice:
- Administration
- Configuration
- Functionality
- Campaigns
- Data & Statistics
Explaining the actors/use-cases
Overview
Welcome to the Loyalty Platform, a comprehensive customer care solution designed to enhance customer retention and acquisition for businesses, particularly local establishments with multiple physical locations. This part provides an overview of the platform's features, actors, and use cases to guide users and administrators through its functionalities.
• Actors:
o Primary Actors
- Consumer: Aims to gain benefits from using the service.
- Owner: Seeks to collect information for advertising campaigns and customer retention.
- Administrator: Responsible for maintaining the company's various structures in an orderly manner (external/internal relations, data management).
o Secondary Actors
- Messaging/Email Systems
- Payment/Banking Systems
- Merchant Website (Online Store)
- Other Companies (in the context of coalition program)
o Possible Actors
- Application Managers
- Advertising Companies
• Use Cases
o Consumer
- Register to Platform: Consumer registers specifying their role, personal information, and login credentials.
- Login to Platform: Consumer logs in with their credentials.
- Join Loyalty Program: Consumer enrolls in a loyalty program.
- Download Premium Program Invoice: Consumer downloads the invoice for a premium program.
- Utilize Referral Module: Consumer generates and shares referral links.
- Provide Feedback/Review: Consumer gives feedback on loyalty programs, stores, and platform user experience.
- View/Interact with Profile Data: Consumer views and interacts with their profile data, including email, personal information, enrolled loyalty programs, notifications, and coupon availability.
- View Received Messages: Consumer views messages received from the platform.
- Interact with Support: Consumer interacts with customer support.
- Purchase Loyalty Program: Consumer purchases a loyalty program.
- Make Purchase at Physical Store: Consumer makes a purchase at a physical store.
- Make Purchase at Online Store: Consumer makes a purchase at an online store.
o Possible Use Cases
- Search for Stores
- Search for Programs
- Return Reward
- Consult FAQs
- Make Reservation
o Owner
- Register: Owner registers specifying their role, store information, personal details, and login credentials.
- Login: Owner logs in with their credentials.
- Pay Platform Service: Owner pays for the platform service.
- Create User Profiles: Owner creates profiles for administrators, specifying their privileges.
- Download Invoices: Owner downloads invoices via the app or messaging system.
- Create Store: Owner creates a new store, providing store information, legal terms, Google My Business link, and images.
- Update Store Profile: Owner updates store profile details.
- Create Loyalty Program: Owner creates a loyalty program, choosing the type and setting it up.
- Create Rewards Catalog: Owner creates a rewards catalog and associates it with a loyalty program.
- Access Loyalty Program: Owner accesses a loyalty program and reproduces its QR code.
- Create Advertising Campaign: Owner creates an advertising campaign, setting communication methods, targets, and messages, and publishes it to related stores.
- Search for Consumer: Owner searches for consumers and views some information.
- View Statistics: Owner views statistics for both the store and loyalty program (e.g., customer visit numbers).
- Export Statistics: Owner exports statistics.
- Create Consortium Loyalty Program (Offline):
- Owner starts the process to create a new loyalty program.
- Owner selects consortium type.
- Owner selects specific consortium type.
- Owner sets up the program.
- Owner invites other owners.
- Owner confirms.
- System notifies all consortium members of the inactive loyalty program details.
- Once all members confirm the proposal, the program is published.
- Accept/Deny Consortium Membership Requests: Main owner accepts/denies requests for consortium membership from external owners (after confirmation outside the app by other members).
- Search for Consortium: Owner searches for a consortium.
- Request to Join Consortium: Owner requests to join a consortium.
- Send Personalized Messages: Owner sends personalized messages.
- Set Automated Messages: Owner sets up automated messages (e.g., welcome messages).
- Create Calendar Events: Owner creates events on the calendar triggering specific messages/notifications.
Conclusion
The Loyalty Platform offers a comprehensive solution for businesses to enhance customer care, retention, and acquisition. With its flexible and tailored approach, it addresses the diverse needs of businesses, providing a seamless user experience for both customers and administrators.