Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/practical-works/mevn-chat
💬 Realtime chat web app example made with the MEVN stack (MongoDB, ExpressJS, VueJS, and NodeJS).
https://github.com/practical-works/mevn-chat
chat chat-app chat-application express expressjs javascript messenger mevn mevn-stack mongo mongodb mongoose node nodejs realtime realtime-messaging socket socket-io vue vuejs
Last synced: 4 days ago
JSON representation
💬 Realtime chat web app example made with the MEVN stack (MongoDB, ExpressJS, VueJS, and NodeJS).
- Host: GitHub
- URL: https://github.com/practical-works/mevn-chat
- Owner: practical-works
- License: mit
- Created: 2021-09-18T04:11:36.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-09-28T03:14:28.000Z (over 3 years ago)
- Last Synced: 2024-12-24T13:47:48.783Z (about 2 months ago)
- Topics: chat, chat-app, chat-application, express, expressjs, javascript, messenger, mevn, mevn-stack, mongo, mongodb, mongoose, node, nodejs, realtime, realtime-messaging, socket, socket-io, vue, vuejs
- Language: JavaScript
- Homepage: https://amb-mevn-chat.herokuapp.com
- Size: 328 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 💬 MEVN Chat
[](https://github.com/topics/web)
[](https://github.com/topics/javascript)
[](https://github.com/topics/vue)
[](https://github.com/topics/bulma)
[](https://github.com/topics/socket.io)[](https://github.com/topics/node)
[](https://github.com/topics/express)
[](https://github.com/topics/mongo)
[](https://github.com/topics/mongoose)Realtime chat web application example made with the **MEVN** stack (**MongoDB**, **ExpressJS**, **VueJS**, and **NodeJS**).
[**🌐 View Live Demo**](https://amb-mevn-chat.herokuapp.com/)

## 🏁 Getting started
1. [Clone](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository) the repository:
```bash
cd somewhere
git clone https://github.com/practical-works/mevn-chat.git
cd mevn-chat
```
2. Install the dependencies:```bash
npm i
```3. Install [Nodemon](https://github.com/remy/nodemon/) globally:
```bash
npm i -g nodemon`
```4. Run development **database**:
```bash
npm run db
```5. Run development **server**:
```bash
npm run server
```## ✈️ Deployment
1. Create and run a live **MongoDB** database using a service like [**MongoDB Atlas**](https://www.mongodb.com/cloud/atlas) and get the **connection string**.
The MongoDB **connection string** (URL) usually looks something like this:
> mongodb+srv://**username**:**password**@**host-address**/**database-name**?retryWrites=true&w=majority
where **username**, **password**, **host-address**, and **database-name** are placeholders for the values provided by the service and specific to the user.2. Push the repository to a **node server** using a service like [**Heroku**](https://heroku.com).
3. In the remote node server:
a. Set the environment variable `CONNECTION_STRING` to the obtained mongoDB **connection string**:
```bash
CONNECTION_STRING=mongodb+srv://...etc
```b. Install the dependencies:
```bash
npm i
```c. Start the server for production:
```bash
npm start
```## 🚀 Development
### 🏭 Environment
- Runtime: [**NodeJS**](https://github.com/nodejs)
- Package Manager: [**NPM**](https://github.com/npm)
- Editor: [**Sublime Text**](https://www.sublimetext.com)### 🌑 Backend
- ⚛️ Core:
- Main: [**NodeJS**](https://github.com/nodejs/node) / [**ExpressJS**](https://github.com/expressjs/express)
- 💽 Database:
- Main: [**MongoDB**](https://www.mongodb.com/)
- Object Modeling: [**Mongoose**](https://github.com/Automattic/mongoose)
- 🔧 Utils:
- Realtime Communication (Server Side): [**Socket.IO**](https://github.com/socketio/socket.io)
- Console Logging: [**Morgan**](https://github.com/expressjs/morgan)
- Console Coloration: [**Colors.JS**](https://github.com/Marak/colors.js)### 🌕 Frontend
- ⚛️ Core:
- Main: [**VueJS**](https://github.com/vuejs/vue)
- 🎨 UI:
- Main: [**Bulma**](https://github.com/jgthms/bulma)
- 🔧 Utils:
- Realtime Communication (Client Side): [**Socket.IO**](https://github.com/socketio/socket.io)
- Date Formatting: [**MomentJS**](https://github.com/moment/moment)## 📄 License
Licensed under [MIT](./LICENSE).