This is a MongoDB, Express, VueJs and Nodejs application made for an evaluation assignment.
This project has been deployed on github pages (client) and heroku (server).
Visit the demo on github pages
I'm using Vuetify for a nice and smooth UI & UX.
-
Authentication
-
SignIn
-
SignOut
-
-
Roles
-
Admin (access to channels and users)
-
User (access to comments)
-
-
Comments (all users + non authenticated)
-
List
-
Show associated channel
-
Submit (create)
-
Join or create channel (on submit)
-
-
User management (admin only)
-
List
-
Create
-
Delete
-
Update
-
-
Channel management (admin only)
-
List
-
Delete
-
Delete associated comments
-
-
Nodejs
-
MongoDB
Set up your environment variables
Copy the file .env.example
and rename it to .env
.
Install dependencies
cd ./client
npm install
Start the app
npm run serve
Set up your environment variables
Copy the file .env.example
and rename it to .env
.
You need to set these variables to be able to start the server
-
MONGODB_URL : Mongo database url
-
JWT_SECRET : Any random string
Install dependencies
cd ./server
npm install
Start the app
npm start
Here you can find the postman documentation of the API endpoints.
To run the tests
npm run test:unit
Tests coverage
To run the tests
npm run test
Tests coverage