Slack clone full stack app
- Back-end: AdonisJS, PostgreSQL
- Front-end: Vue.js - Quasar - SPA
- Socket.io modification for websocket instant message sending
docker-compose up --build -d
docker exec -it {name_of_container} bash
where the {name_of_container}
is the backend server container
Run node ace migration:refresh --seed
Restart lack-be container
docker restart {name_of_container}
lack-backend
npm install
- setup .env
node ace migration:refresh --seed
npm run dev
lack-frontend
npm install
npm run dev
seeded users:
- login: [email protected]
- login: [email protected]
- login: [email protected]
- login: [email protected]
passwords are: 123456
- Register/Login
- Actions can be performed with commands or through the UI
- Channels
- Create channel [public, private]
- Join channel -
/join channelName [private]
- Leave channel -
/cancel
- Delete channel -
/quit
- Show users -
/list
- Invite users to channel -
/invite nickName
- Kick users from channel -
/kick nickName
or/revoke nickName
- Ban users if admin of a channel or if 3 users kick someone
- Messages
- Send instantly to channel
- View in real time who is typing and read currently typed message
- Address message to user by including @nickname
- Infinite scrolling in channel
- OS based notifications
- Channel is deleted after 30 days of inactivity
- Status
- Online, DND, offline
- Status is shown to other users
- DND mutes notifications
- Offline leaves sockets and after going online loads up new messages