EasyClick is a subscription management platform that uses predictive analytics for customer loyalty ratings, enabling businesses to target key customer segments. It not only simplifies subscription management but also transforms it into a strategic asset for businesses, driving growth and fostering long-lasting customer relationships.
Here's an overview look at the key components and strategies we employed:
- Robust Backend with Django: The backend is built with the Django framework which supports complex subscription management tasks.
- Django REST Framework for API Services: We utilized Django REST Framework for creating RESTful APIs to make data transfer and retrieval.
- Celery for Background Task Management: We integrated Celery, a distributed task queue,to facilitate scheduled runs for pushing data from our local database to the Databricks data warehouse.
- Redis as a Message Broker: Redis plays a pivotal role in our architecture, acting as a message broker between Django and Celery. It ensures efficient handling of task queues and real-time data processing.
- Databricks Data Warehouse: For robust data storage and advanced processing, we chose Databricks as our data warehousing solution. It stores vast amounts of customer data and feeds into our machine learning pipeline for analyzing customer loyalty.
- Machine Learning for Predictive Analytics: Our journey in predictive modeling involved exploring various machine learning algorithms. After the model comparison, we found Residual networks to deliver the highest classification accuracy for predicting customer loyalty ratings.
- Twilio SendGrid for Email Marketing: To enhance our marketing efforts, we integrated Twilio SendGrid. This powerful tool enables us to send personalized email campaigns based on customer loyalty scores, directly impacting customer engagement and retention.
- Close CRM for Management: Close CRM was chosen for its robustness in managing customer relationships. It helps us keep track of customer interactions, subscriptions, and feedback, all in one place.
- Square's Payment API for Payments: For secure and reliable payment processing, we integrated Square's Payment API. It simplifies the transaction process, offering a safe and convenient payment experience for our users.
- AWS S3 for Data Analytics: We leveraged Amazon S3 for its unparalleled data analytics capabilities. It serves as a repository for storing and analyzing large-scale customer data, providing us with actionable insights.
Clone this server repo and run the following commands
git clone https://github.com/ndrohith09/EasyClick-Server.git
cd Square-Server
Change the secrets in the settings.py file
BASE_URL = "http://localhost:8000" # your server url
SQUARE_APP_ID= "sandbox-****-***" # your square app id
SQUARE_APP_SECRET = "***" # your square app secret
SQUARE_API_URL = "https://connect.squareupsandbox.com"
SQUARE_SANDBOX_TOKEN = "*****" # your square sandbox token
To run the server you need to install the requirements and run the following command
pip install -r requirements.txt
python3 manage.py runserver 0.0.0.0:8000
Clone this client repo and run the following commands
git clone https://github.com/ndrohith09/EasyClick-Client.git
cd EasyClick-Client
Install the dependencies and run the following command
yarn install
(or)
npm install
Change the api baseURL according to your server url in the api.jsx file
baseURL : 'https://0.0.0.0:8000/api/v1/',
Start the client
yarn dev
(or)
npm run dev
Install redis in host machine
pip install -r requirements.txt
celery -A easyclick.celery worker --pool=solo -l info
celery -A easyclick beat -l INFO