This application is deployed on DigitalOcean. Please check it out π here.
Frontend:
Backend:
Database:
Deployed On:
- Real time communication is supported using Socket.io
- Fully Responsive UI
- User authentication using email with Login as well as Logout feature.
- Passwords are encrypted.
- Toast notifications for user actions.
- Users can create group chat.
- Typing Indicators while other user typing something.
βββ client/
β βββ public/
β β βββ favicon.ico
β β βββ index.html
β β βββ logo192.png
β β βββ logo512.png
β β βββ manifest.json
β β βββ robots.txt
β βββ src/
β β βββ animations/
β β β βββ typing.json
β β βββ components/
β β β βββ Authentication/
β β β β βββ Login.jsx
β β β β βββ Signup.jsx
β β β βββ UserAvatar/
β β β β βββ UserBadgeItem.jsx
β β β β βββ UserListItem.jsx
β β β βββ miscellaneous/
β β β β βββ GroupChatModal.jsx
β β β β βββ ProfileModal.jsx
β β β β βββ SideDrawer.jsx
β β β β βββ UpdateGroupChatModal.jsx
β β β βββ ChatBox.jsx
β β β βββ ChatLoading.jsx
β β β βββ MyChats.jsx
β β β βββ ScrollableChat.jsx
β β β βββ SingleChat.jsx
β β β βββ index.js
β β βββ config/
β β β βββ ChatLogics.js
β β βββ context/
β β β βββ ChatProvider.js
β β βββ pages/
β β β βββ Chat.jsx
β β β βββ Home.jsx
β β β βββ index.js
β β βββ App.css
β β βββ App.js
β β βββ index.js
β βββ package.json
βββ config/
β βββ connectToMongoDb.js
β βββ generateHashedPassword.js
β βββ generateToken.js
β βββ index.js
β βββ verifyPassword.js
βββ controllers/
β βββ chatControllers.js
β βββ index.js
β βββ messageControllers.js
β βββ userControllers.js
βββ middleware/
β βββ authMiddleware.js
β βββ errorMiddleware.js
β βββ index.js
βββ models/
β βββ Chat.js
β βββ Message.js
β βββ User.js
β βββ index.js
βββ routes/
β βββ chatRoutes.js
β βββ index.js
β βββ messageRoutes.js
β βββ userRoutes.js
βββ .env.example
βββ .gitignore
βββ LICENSE
βββ package-lock.json
βββ package.json
βββ README.md
βββ server.js
In order to run the project you need node>=16
and npm>=8
installed on your machine.
git clone https://github.com/rtewari056/bitchat.git
cd bitchat
PORT=5000
MONGO_URI="YOUR_MONGO_CONNECTION_URL"
JWT_SECRET="YOUR_JWT_SECRET"
JWT_EXPIRE=2d
NODE_ENV=development # Change to "production" when deploying
npm install # Server dependencies
cd client
npm install # Client dependencies
In the root
directory, open two terminal sessions and run both commands separately:
npm run client
npm run server
If you want to contact me, you can reach me through below handles.
bitchat is licensed under the MIT License.