Collective is a real-time chat application that allows users to join group chats, send messages, and manage their profiles. It uses a Flask backend to manage server-side logic and a Vue.js frontend for the user interface.
The backend is built using Flask and is located in the stern
folder.
stern/
│
├── app/ (Recommended: move your app files into a separate 'app' directory)
│ ├── init.py
│ ├── models.py
│ ├── server.py
│ ├── views.py
│ └── config.py
│
├── migrations/
│
├── pycache/
│
├── venv/
│
└── wsgi.py
The frontend is built using Vue.js and is located in the bow
folder.
bow/
│
├── public/
│ ├── index.html
│ └── favicon.ico
│
├── src/
│ ├── assets/
│ │
│ ├── components/
│ │ ├── ChatMenu.vue
│ │ ├── ChatList.vue
│ │ ├── ChatInput.vue
│ │ ├── Login.vue
│ │ ├── ChatViewer.vue
│ │ ├── ChatRoom.vue
│ │ └── UserSettings.vue
│ │
│ ├── router/
│ │ └── index.js
│ │
│ ├── store/
│ │ └── index.js
│ │
│ ├── socket/
│ │ └── index.js
│ │
│ ├── App.vue
│ ├── main.js
│ └── main.css
│
├── tailwind.config.js
│
├── babel.config.js
│
├── package.json
│
└── jsconfig.json
-
Navigate to the
stern
folder:cd stern
-
Create a virtual environment and activate it:
python3 -m venv venv source venv/bin/activate
-
Install the required dependencies:
pip install -r requirements.txt
-
Run the Flask server:
export FLASK_APP=server.py flask run
-
Navigate to the
bow
folder:cd bow
-
Install the required dependencies:
npm install
-
Run the Vue.js development server:
npm run serve
-
Open the application in your browser at
http://localhost:8080
.
Feel free to submit issues and pull requests to improve this project. Your contributions are greatly appreciated!