Team Members
- Paramjit Singh
- Ardhi Dattatreya Varma
- Pratik Ranjan Sau
Problem Statement
-D3h01 - Platform for sharing and flexing code screenshots/snippets where users can like and comment on posts. Users have to post code snippets that they wrote and liked and other users can see who all have posted their snippets. The snippets should be in text form(can be copied) and not screenshots/photos with syntax highlighting. - Share snippets option and page for each snippet - Give reactions and suggest edits to the shared snippets
Features :-
- New User Sign Up
- Can Share Code snippets or screenshots
- Edit Code
- Reply and Suggest Edits for the code snippet
- Can directly message a user for more information
- Can Video Call a user
- Can view code snippets of the user's followers
Our Approach And Implementation
User Authorization -
- Implemented jwt tokens.
- Current user is stored in the redux store and the data of the user is stored in the database.
Post
- New post creation
- One can like or provide emojis and the state is stored in redux. Also updated in the database simultaneously.
- Comment option is provided
- Code is highlighted using prism.js npm package which supports 100+ languages.
- Code can be edited and shared from the post directly
Direct Messaging
- Implemented using socket.io
- Provides online status of the users and emojis can be sent as well
WebRTC Implementation
- Implemented VideoCalling
DataBase Models for satisfaction
UserModel
ChatsModel
PostModel
Challenges Faced
- We took it upon ourselves to use MongoDB as an option in this project. Many new concepts and mistakes were made and corrected.
- Many bugs appeared during this project and sleepless nights were spent inorder to deliver this project.
- We wanted to more features but were bound by time. Still we have tried to add as many features as we can.
- Integrating backend and frontend was a challenge for us . Recreating scenarios in Postman API is easy but passing down the props in complex nested structure is a pain in the forehead.
Log in or sign up for Devpost to join the conversation.