In-Touch is a open source social network template with node.js backend.
- Build over open-source/free services.
- Ready to deploy code just set Environment-Variables.
- Proper refractored code for easy modification.
- Now user can have hassle free login via Google / facebook / Twitter. (can be unlinked.)
- Now more responsive and Mobile-friendly.
- Now Date/Time of Post and Comments are more accurate.
- User has now option to upload text-image or text-only uploads.
- Ability to set custom Display-name besides differnt username.
You can also:
- Comment on others post.
- Edit/Delete your own post.
- Edit/Delete your own comment.
- Live Group-Chat feature.
- Live Personal-Chat feature.
Excited !!! lets visit together lol just kidding :p its still under development . Here the Anchor for deployed Master bracnch In-Touch
The theme is little childish because i did't get much time to polish it used simple bootstrap (documentation was too long :) Backgrounds can be changed by simply replacing pictures in public/img folder look/UI can be tweaked in public/css/style.css Instructions for Environment-variables are below
The User on Landing page were actually my class mates. Their feedback was key part in debugging :) .
In-Touch uses a number of open source projects to work properly:
- NodeJS - Server Side JavaScript runtime !
- ExpressJS - NodeJS module to handle routes.
- Mongoose - Node module to handle MONGODB.
- Bootstrap - To create responsive website.
- Socket IO - web Socket handler (Currently working with).
- PassportJS - Handles session and user login.
- Cloudinary - Handle mass flow of image and video uploads.
- eJS - Embeded javaScript for nodeJS.
- jQuery - javascript handler
And of course now In-Touch itself is open source so can be used as base for more complex Social networks, Hope soo :) lol just kidding again.
In-Touch requires Node.js v4+ to run.
Install the dependencies, set the Environment-Variables and start the server.
$ cd In-Touch
$ npm install -d
$ node app.js
While deploying on servers like Heroku set these environment variables or use them directly in your source.
Name | Description | Location |
---|---|---|
SESSION_CRYPT_KEY | Used to Encrypt Session | /app.js |
MONGODB_URL | URL to your hosted database on Mlab | /config/database.js |
FACEBOOK_CLIENT_ID | Generate while registering on facebook | /config/auth.js |
FACEBOOK_CLIENT_SECRET | Generate while registering on facebook | /config/auth.js |
FACEBOOK_CALLBACK | CallBack replace with your URL | /config/auth.js |
TWITTER_CONSUMER_KEY | Generate while registering on twitter | /config/auth.js |
TWITTER_CONSUMER_SECRET | Generate while registering on twitter | /config/auth.js |
TWITTER_CALLBACK | Replace with your URL | /config/auth.js |
GOOGLE_CLIENT_ID | Generate while registering on google | /config/auth.js |
GOOGLE_CLIENT_SECRET | Generate while registering on google | /config/auth.js |
GOOGLE_CALLBACK | Replace with your URL | /config/auth.js |
CLOUDINARY_CLOUD_NAME | Your cloudinary username | /config/auth.js |
CLOUDINARY_API_KEY | Your cloudinary API key | /config/auth.js |
CLOUDINARY_API_SECRET | Your cloudinary API secret | /config/auth.js |
Want to contribute? or have some ideas Great! .Lets work together
- Whatsapp Me (+91) 8107066370
In-Touch can also be run Locally just install node and mongodb locally . Make a change in your file and instantanously see your updates.
Open your favorite Terminal/bash/commandPrompt and run these commands (cd into directory).
First Tab:
$ mongod
Second Tab:
$ node app.js
(optional to see databse updates) Third:
$ mongo
- Implement live Chat (group & personal) almost done.
- Redesign the User-Schema to implement friend/blocked etc.
- Re-implement the UI/UX.
MIT
Free Software, Hell Yeah! (just mention the repo link)