A questions and answers platform written in Vue.js
  • Vue 58.3%
  • JavaScript 35.8%
  • CSS 5.4%
  • HTML 0.5%
Find a file
2023-12-16 10:28:39 +02:00
api letting owners delete answers as well 2023-12-13 16:38:40 +02:00
public messages crud and profile 2023-11-20 16:20:21 +02:00
src ops 2023-12-16 10:28:39 +02:00
.env I just do a lot of stuff at once, okay 2023-11-16 11:25:54 +02:00
.eslintrc.json style changes 2023-12-03 15:47:05 +02:00
.gitignore Front-end inital setup 2023-11-07 14:07:04 +02:00
.prettierignore Added router and form library 2023-11-07 19:30:02 +02:00
index.html I just do a lot of stuff at once, okay 2023-11-16 11:25:54 +02:00
package.json adding pinia store + stability 2023-12-11 00:30:02 +02:00
pnpm-lock.yaml adding pinia store + stability 2023-12-11 00:30:02 +02:00
postcss.config.js Front-end inital setup 2023-11-07 14:07:04 +02:00
README.md Update README.md 2023-12-12 12:40:07 +02:00
tailwind.config.js added themes to the whole app 2023-11-16 14:03:05 +02:00
vite.config.js settings page complete 2023-11-17 17:31:55 +02:00

Inquire Hub

Share Your Thoughts, Spark Conversations!

A simple chat app for anonymous questions and answers featuring profiles and auth guards, themes, real time updates, form validations and more!

Instalation

Noteworthy dependencies:

Vue.js Vuelidate Pinia TailwindCSS
Socket.io jwt
Express.js joi Bcrypt Glob MongoDB

When installing all the app's dependencies youll need to run these two commands

npm i
cd api && npm i

After that you can start the application (both FE and BE) in development mode by simply writing

npm run dev

You should see something like this: example

Purpouse

This is a platform meant to provide anonymity when asking questions.

The concept is simple, you ask a question and then periodically check if you have answers from people. Other than asking questions you can answer questions. The more you answer the more the number on your profile goes up so you can show off to others how cool you are.
If you find someone cool that posts interesting public questions, you can also follow them and answer their questions without relying on chance to stumble upon them. Beware tho, you can only see their public questions.

Features

The whole app uses both a socket for real time connection and a REST API for regular requests.

FE

Main dependencies:

  • Vue js
  • Vuelidate
  • awesome-snackbar
  • Tailwind
  • Material Icons
  • Pinia

The front end features a combination of light and dark theme + an accent color inquire-hub-themes

Using Vuelidate we ensure the user knows where their errors are (and if they bypass it we have extra validation on the backend) image

Seemless updates with socket.io
Here the reaction updates whenever the server emits an event socket-events

BE

Main dependencies:

  • bcryptjs
  • express
  • express-file-routing
  • golb
  • joi validator
  • jwt
  • mongoose

Strong password encryption with bcrypt (this is an example document) image

Custom middleware for validation using joi validate image

Author

Developed designed by GamBar
For educational purposes, and the SoftUni VueJS course