https://github.com/imran-riz/conversa-vue
A web-based chat application made with Vue3 and Firebase.
https://github.com/imran-riz/conversa-vue
firebase vue vue3-composition-api vuelidate vuetify vuetify3
Last synced: 2 months ago
JSON representation
A web-based chat application made with Vue3 and Firebase.
- Host: GitHub
- URL: https://github.com/imran-riz/conversa-vue
- Owner: imran-riz
- License: apache-2.0
- Created: 2024-03-22T14:52:09.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-06-28T11:13:15.000Z (11 months ago)
- Last Synced: 2025-01-26T04:42:33.079Z (4 months ago)
- Topics: firebase, vue, vue3-composition-api, vuelidate, vuetify, vuetify3
- Language: Vue
- Homepage:
- Size: 137 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ConversaVue
A chat application that allows:
- user sign up
- log in
- user search (with username)
- 1 on 1 conversations
- realtime updates to messages### Built with:
- [Vue3](https://vuejs.org/) with Composition API
- [Firebase](https://firebase.google.com/): Auth and Firestore
- [Vuetify](https://vuetifyjs.com/en/getting-started/installation/#installation): used [Material Design](https://m3.material.io/)
- [Vuelidate](https://vuelidate-next.netlify.app/)### Data model:
Uses 2 collections in Firestore: `users` and `messages`.
```
user: {
id: string,
email: string,
username: string,
first_name: string,
last_name: string,
birthdate: string,
users_contacted: [
{
id: string,
email: string,
unread_counter: number,
}
]
}message: {
id: string,
sender_id: string,
recipient_id: string,
text_message: string,
sent_on: timestamp,
}
```