An e-commerce system that can both shop and chat in real time. Committed to creating best practices for Internet enterprise-level projects.
It must have all the shopping carts, orders, payments, recommendations, searches, new recruits, promotions, push notifications, logistics, and customer service that e-commerce should have. Keep updating~
Quick experience address : Matcha chat homepage
Backend project repository : MallChat
Project video record : The Bilibili address shares the project progress, thoughts on function selection, and solicits iteration suggestions throughout the process.
Project learning document : 100,000+ words, nanny-level teaching route, environment construction, core functions, infrastructure wheels, interface stress testing, problem records, no one left behind. You can click on the Matcha project document to view it (including a large communication group of 500 people)
Project communication group : If you are interested in matcha, you can join the communication group. Every move you make will determine the future direction of the project. Whether you are making suggestions as a product manager, finding bugs as a tester, or joining in developing small modules as a contributor, you are welcome to join.
Code cloud warehouse : https://gitee.com/Evansy/MallChatWeb (domestic access is faster)
Matcha Chat is an IM project that connects to the front-end websocket through netty. It contains WeChat scanning login, member list, online and offline animation, message list, message interaction, and many practical small wheel columns such as aop log, distributed lock annotation, frequency control annotation, IP analysis and ownership, etc., and is being continuously updated. . .
Environment: node 16.18+, package management tool pnpm (after installing node, execute npm i pnpm -g
);
Install dependencies: After cloning the project, execute pnpm i
npm
installation error, add parameter npm i --ignore-scripts
after the command to ignore scripts
related dependencies to solve the problem
It is recommended to use pnpm
. Installing dependencies will not cause problems due to network failures.
Startup: Press F5
to automatically execute pnpm run dev
and open the browser
deploy
Deploy to local: After executing pnpm build
, put the dist
folder on the server and configure nginx
Automatic CI/CD: automatically build and deploy to the server after the code is submitted to GitHub through github actions
. For detailed reference, please view deploy.yml
Front-end project address: https://github.com/Evansy/MallChatWeb
Project demonstration address: https://mallchat.cn (remember matcha.cn, you can open it directly next time you work)
technology | illustrate | Official website |
---|---|---|
Vue3 | Popular front-end development framework | https://cn.vuejs.org |
Pinia | vue3 officially recommended state management framework | https://pinia.vuejs.org |
vue-router | Vue’s official route | https://router.vuejs.org |
TypeScript | Let JS have type declarations | https://www.typescriptlang.org/ |
Element Plus | A component library based on vue3 | https://element-plus.gitee.io |
Alova | A lightweight request strategy library that is less burdensome to use than axios | https://alova.js.org/ |
vite | Extremely fast front-end packaging and building tool | https://cn.vitejs.dev |
pnpm | Fast, disk-space-saving package manager | https://www.pnpm.cn |
See MallChat
Modify your startup environment spring.profiles.active
= test
application.yml
in the project directory, then find the same-level file application-test.properties
and fill in your own environment configuration. Planet members provide a set of test environment configurations that can be directly connected
The nanny-level teaching route covers environment construction, core functions, performance optimization, point reporting, problem recording, and project highlights. Click on Project Documents
More interesting features are being continuously updated. . .
Please read the Code of Conduct and Contribution Guidelines before contributing. Thanks to everyone who has contributed to MallChat!
category | user | Contribution module |
---|---|---|
front end | Send and receive messages of picture, voice, and file types | |
Message interactive operations (withdraw, like, delete) | ||
virtual list | ||
rear end | DFA sensitive word detection | |
OpenAI chatbot | ||
Ac automaton sensitive word detection | ||
Current limiting programming | ||
handshake authentication |
Search Abin's Java Road on WeChat and follow my original public account. Reply " Matcha " in the background to join the Matcha communication group. Some friends who have done company chats with tens of thousands of people and have high concurrency discuss plans in it. The official account will also frequently update project-related documents, waiting for you to tease~~