A Social Medial Application where user can post,comment and like other post.
- https://www.socioknct.tech (Currently not working !!)
- https://socioknct.onrender.com(Not working !!)
- Realtime Posting Images, Audio , Video, Text and Creating Poll
- Home page consist of widgets of weather, news and user profile
- Google OAuth2.0
- Forget-Password, Email Verification
- Friend Request System
- Realtime Likes, Comments, Replies
- ChatRooms where two friends can chat (
using Socketio
) - AutoComplete Search using jquery.
- Notification via email when there is new FriendRequest, new Comment.
- Email Worker (
using Bull.js
) for managing jobs and reducing server load.
To run this project, you will need to add the following environment variables to your .env file
CODEIAL_SESSION_COOKIE_KEY
{Session Cookie for local authentication}CODEIAL_DB_NAME
{Database collection name}CODEIAL_ASSET_PATH
{asset path of js,css,images}CODEIAL_MAILER_USERNAME
{email username for nodemailer}CODEIAL_MAILER_PASSWORD
{email password for nodemailer}CODEIAL_JWT_SECRET_KEY
{JWT key JWT Authenication}CODEIAL_MONGODB_URL
{Cloud MongoDB URL}CODEIAL_GOOGLE_CLIENTID
{For Google OAuth}CODEIAL_GOOGLE_CLIENTSECRET
{For Google OAuth}CODEIAL_GOOGLE_CALLBACKURL
{For Google OAuth}CODEIAL_REDIS_PASSWORD
{Bull.js require redis database}PORT
{ Port where server and socket.io will run}
Depolyed on AWS EC2 and Render.com Server
-
Install
node
usingnvm
on aws EC2 -
Install
redis
,pm2
,nginx
,gulp
on same -
Minify assets using gulp and start running server using
pm2 start index.js
{`redis` : used by bull.js as email worker that reduce server load and manage jobs `pm2` : Better than nodemon because it keep on running even after getting error `nginx` : Used as proxy server to balance load on server `gulp` : to Minify js,css,images (optimising assets)
}
Clone the project
git clone https://github.com/omseervi098/SocioKnct
Go to the project directory
cd SocioKnct
Install dependencies
npm install
Start the server
nodemon index.js
Client: EJS, SCSS, JQuery, Ajax, Bootstrap
Server: Node, Express, MongoDB, Redis, SocketIO