An open source Customer Relationship Management system powered by Flask and SQLAlchemy.
Originally Created by Chris Hall
Modified by Yu
!!!!Attention!!!!This app only works with python:3.6.4
docker build -t easycrm .
docker run -p 8090:8090 easycrm
Now you can access http://0.0.0.0:8090/login/ with Username and Password: [email protected]/shh
auth -> controller
/login/
core -> controller
/
/contact/create
/contact/<con_id>
/organisation/create
/organisation/<org_id>
- app
|_ auth ...... controller, form helper and model for authentication
|_ core ...... controller, form helper and model for core functions
|_ database ...... admin data initialisation
|_ templates ...... HTML templates for simple webpages
- tests ...... Unit Test files
- config.py ...... DB config for test
- manage.py ...... DB operation
- run.py ...... Run the App from here
- Fork and separate the branch to master(dev), staging, prod
- Improve the Travis(Github)/Pipeline(Bitbucket) for build, test and deploy to AWS EC2
- Dockerise the app and build, test and deploy via Docker
- Set up statsd, prometheus and grafana for monitoring
- Add code to probe certain endpoints for monitoring the reliability, traffic and latency
- Use a load tester to test the performance and monitor it. Point out the problems
- Set up a CDN and Application Load Balancer
- Use Terraform for monitor/infra set up
- Separate the database, core logic and auth into multiple microservices
- Generate 10000 DB entries
- Add an external cache to load entries faster
- Introduce autoscaling via EBS
- Write a better frontend code in a different repo
- Setup deployment for the frontend to S3
- Point CloudFront to the S3
- Use Terraform to do the deployment