This repository contains a Django app with some other necessary services to run a basic Subscription platform
Main use case scenario:
- Sign up
- Log in
- Add credits
- Activate/buy a Subscription
- Receive new invoice every 10 seconds until either run out of credits or deactivate subscription
- deactivate subscription
- docker version 20.10 or higher (lower might also work)
- docker compose version 2.15 or higher (lower might also work)
- Clone project
git clone https://github.com/9Knight9n/basic-subscription-platform.git
- Change directory into cloned folder
cd basic-subscription-platform
- Create .env file from example .env file (use copy instead of cp in linux)
cp .env.example .env
- Run project with docker compose
docker compose up
- Visit http://localhost:3001/ to start
Services used in application
- Django: Back-end framework
- PostgreSQL: Database
- Redis: Message and database broker
- Celery: Task scheduler
- React.js: Front-end framework
- Initialize Django
- Dockerize Django and PostgreSQL
- Added Authentication (django Knox auth)
- Create Customer Model and serializer
- Add auto superuser creator script
- Add auto Migration script
- Add auto DB population
- Initialize React.js
- Dockerize React.js
- Add Login and Signup page
- Add Subscription, Invoice and Customer-Subscription models
- Add required APIs
- Add Celery To project
- Dockerize Celery
- Add Schedule Task
- Create readme
- Replace Interval API calling with WebSocket. (interval API calling is used for updating front-end data, didn't had time to implement WebSocket)
- Create Production version with Docker