-
Notifications
You must be signed in to change notification settings - Fork 1
Tech Stack
johnny.liu edited this page Jan 26, 2022
·
1 revision

Besides eliminating the pain point of ordering some Chinese featured products for the Chinese students. In addition, through this project, we want to try to use some NoSQL databases to address the issues of high availability in the shopping cart, complicated recommendation queries in the product detail page, the complex and unfixed schemas of different products, and sophisticated product searchings. So, the purpose of each framework or tool shows below.
| Name | Purpose | Documentation |
|---|---|---|
| Nginx | Web Server, for transmitting the dynamic requests to Django and parsing HTML pages. | https://nginx.org/en/docs/ |
| Bootstrap | CSS framework, easy to use, and a lot of free templates | https://getbootstrap.com/docs/5.1/getting-started/introduction/ |
| jQuery | Simpilify the operation of the document | https://api.jquery.com |
| Name | Purpose | Documentation |
|---|---|---|
| Django-Rest | Better for creating REST API | https://www.django-rest-framework.org/api-guide/requests/ |
| RabbitMQ | MQ for decouping sub systems and asynchronous processes. For example, the latest data of shopping cart send to MQ for asynchronous processing data in Postgresql. | https://www.rabbitmq.com/documentation.html |
| Postgresql | Popular open-source relational database. | https://www.postgresql.org/docs/ |
| Redis | In-memory database for storing the data of shopping cart. | https://redis.io/documentation |
| MongoDB | Document and shchema-less database, it's better for storing products with miscellaneous data structures. | https://docs.mongodb.com/manual/ |
| Elasticsearch | By its powerful inverted indexes, it's great for building search engine. | https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html |
| Neo4j | Great for recommendation engine as its stronger ability in processing complicated realtionship queries. | https://neo4j.com/docs/ |
| Name | Purpose | Documentation |
|---|---|---|
| Github | Easy and great for team development | / |
| Travis-CI | Easy to connect with Github, after submiting codes, Travis-Ci will automatically check the quality of your codes and do all unit tests. | https://docs.travis-ci.com |
| Heroku | Best choice for connecting with Github and Travis-CI. The basic features of it is free and easy to configure. | https://devcenter.heroku.com |
| Name | Purpose | Documentation |
|---|---|---|
| ELK | Short for Elasticsearch + Logstash + Kibana. It's convinent for grouping log files from different servers and providing some features to analyze logs. | https://www.elastic.co/guide/index.html |
- Business Analysis
- Tech Analysis
- Data Model Designs
- Development Standards
- Key Data Flows
- Deployment
- Bug List
- Plugins & References