Skip to content

Commit

Permalink
Fixed security vulnerability issues in sequelize and axios
Browse files Browse the repository at this point in the history
Added Readme files
  • Loading branch information
Sathish-Globussoft committed Jun 22, 2019
1 parent b453126 commit 873b6de
Show file tree
Hide file tree
Showing 15 changed files with 1,216 additions and 6,381 deletions.
69 changes: 35 additions & 34 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,40 +3,41 @@
/api/node_modules
.idea/
*.psd
Sequelize POC/node_modules/

api/public/images/
api/public/videos/
apicrons/
api-socioboard/node_modules/
api-socioboard/publisher/public/images/
api-socioboard/feeds/public/giphy/
api-socioboard/publisher/public/videos/
api-socioboard/publisher/public/thumbnails/
api-socioboard/feeds/public/flickr/
api-socioboard/feeds/public/imgur/
api-socioboard/feeds/public/pixabay/
api-sb/node_modules/
api-sb/user/public/logs/
apis/user/node_modules/
apis/library/node_modules/
apis/feeds/node_modules/
apis/feeds/public/flickr/
apis/feeds/public/giphy/
apis/feeds/public/imgur/
apis/feeds/public/pixabay/
apis/user/public/logs/
apis/publish/public/logs/
apis/feeds/public/logs/
apis/publish/node_modules/
apis/publish/public/images/
apis/publish/public/thumbnails/
apis/publish/public/videos/
apis/user/coverage/

socioboard-api/node_modules/
socioboard-api/publisher/public/images/
socioboard-api/feeds/public/giphy/
socioboard-api/publisher/public/videos/
socioboard-api/publisher/public/thumbnails/
socioboard-api/feeds/public/flickr/
socioboard-api/feeds/public/imgur/
socioboard-api/feeds/public/pixabay/

socioboard-api/user/node_modules/
socioboard-api/library/node_modules/
socioboard-api/feeds/node_modules/
socioboard-api/publish/node_modules/
socioboard-api/notification/node_modules/

socioboard-api/user/public/logs/
socioboard-api/publish/public/logs/
socioboard-api/feeds/public/logs/
socioboard-api/notification/public/logs/

socioboard-api/feeds/public/flickr/
socioboard-api/feeds/public/giphy/
socioboard-api/feeds/public/imgur/
socioboard-api/feeds/public/pixabay/

socioboard-api/publish/public/images/
socioboard-api/publish/public/thumbnails/
socioboard-api/publish/public/videos/

socioboard-api/user/coverage/

media/
apis/notification/node_modules/
apis/notification/public/logs/
web/storage/uploadimages/
web/storage/uploadvideos/

socioboard-web-php/storage/uploadimages/
socioboard-web-php/storage/uploadvideos/


112 changes: 112 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
![Socioboard](http://i.imgur.com/aKbFCOy.png "Your Open-source Social Media Dashboard")
==========
**Socioboard** is world’s first open source social technology enabler and first open source product company from India. We build social technology which helps businesses and brands to better understand social media and harness its real power.
Our vision is to provide easy to use tools to businesses and brands which covers 360 degree use cases when it comes to Social Media.

We are building innovative products for various social networks which fill the critical gap - Social Networks were meant for user’s not for businesses. Our tools and products view Social from a business point of view and fill those gaps which social networks cannot fill exquisitely.
Business should own their social data and they should be incharge of what they want to do with it, generate reports and analyze data to make informed and improved business decisions. This is possible when things are open and businesses have freedom to choose, we believe open source is a way to make this possible. So that brands and businesses can embrace social technology with an open mind in an open and connected world.

We believe in providing our users with choice, we don’t push useless buggy bloatware to their throat and force them to pay for it.

Our products resonate with our vision to make social technologies more open.

**Socioboard Core** (Commercial and Open Source) -
================================================
**Socioboard Core** is an open source social media management, analytics and reporting platform. It supports nine social media networks. Using Socioboard Core you can monitor and manage multiple social media accounts and create useful reports and take business decisions based on them. Socioboard Core is available as a web app and mobile apps on iOS and Android. Its completely open source and fully customizable and extensible in the form of plugins. It has a commercial SAAS version at - www.socioboard.com and open source version at - www.socioboard.org


Socioboard Desktop Applications for Social Media Marketers -
==========================================================
Socioboard desktop apps are the swiss knife of Social Media Marketing Industry.

Socioboard desktop applications are not completely restricted by the various APIs of the social networks like Socioboard Web and Mobile apps. Rather they give you a complete competeting user experience with the original network but as a desktop application. The Desktop apps are a collective effort of the socioboard community spread globally.

Socioboard desktop apps must be used with utmost care to make sure you remain within the social network usage limits and don’t over do something. It’s best to use them under trained guidance from experts.


**inBoardPro (http://www.inboardpro.com/)** - inBoardPro is linkedin marketing on Steroids. Its a desktop application which helps you to automate everything you can do on linkedin. It helps you to manage multiple linkedin accounts, connect with new members in the linked community, post automated updates , manage all your linkedin groups and do a whole lot of things on linkedin.

**faceboardPro (http://faceboardpro.com/)** - faceBoardPro is an automated facebook marketing software. It helps you to automate your regular facebook tasks with few clicks. It helps to you manage multiple facebook accounts, manage your friends, groups, pages, apps etc. Basically it can automate all your day to day facebook management tasks and save a lot of your time.

**gramBoardPro (http://gramboardpro.com/)** - gramBoardPro is an instagram automation power-house. It can manage all your instagram tasks , likes, comments etc. Very useful software for instagram marketers.

**twtBoardPro (http://twtboardpro.com/)** - twtBoardPro is an twitter marketing platform. It helps you manage multiple twitter accounts and automate your tweets, re-tweets, favorites etc. You can do a whole lot of stuff on twitter and get ultra productive on twitter by using this software.

**Socioboard Mobile Apps for Social Media Marketers** -
=======================================================

**Socioboard Official App** - The official app is an extension of Socioboard Core app on iOS and Android. It helps you manage all your social media accounts you have connected to Socioboard Web Core via mobile apps.

Android Version : https://play.google.com/store/apps/details?id=com.socioboard
iOS Version : https://itunes.apple.com/us/app/socioboard/id923398550?mt=8


**t-boardpro** — t-boardpro is a multiple twitter account management app, it helps you to login to multiple twitter accounts from your iOS or Android device and do various twitter activities like tweeting, re-tweeting, favorites, follow, unfollow, scheduling tweets etc. Its a a very powerful twitter marketing automation app. The open source version is called t-board is available on github - https://github.com/socioboard/t-board

**f-boardpro** — f-boardpro is a multiple facebook account management app, it helps you to login to multiple facebook accounts from your iOS or Android device and do various facebook activities like post, like, comment,managing pages, groups and much more. The open source version is called f-board is hosted here - https://github.com/socioboard/f-board

**l-boardpro** — l-boardpro is a multiple LinkedIn account management app. It helps you to login multiple LinkedIn accounts from you iOS or Android device and do LinkedIn activities like share comments, see user following companies details and user can see latest jobs in following company. The open source version of l-boardpro is hosted here - https://github.com/socioboard/l-board

**i-boardpro** — i-boardpro is a multiple instagram account management app, it helps you to login to multiple instagram accounts from your iOS or Android device and do various instagram activities like follow, unfollow,comment,like, scheduling posts etc. Its a a very powerful instagram marketing automation app. The opensource version of i-boardpro is hosted here - https://github.com/socioboard/i-board



Why Open Source ?
=================

There are many great tools available for managing social media programs, from content management systems to analytics tools. But many of the systems available are rigid in their architecture, and cannot be customized to meet the specific editorial, workflow, and governance needs of various organizations. By creating a customizable, open source alternative, teams can model their system on the way they operate in the real world.

There is too much focus on vanity metrics. Marketers don’t focus on driving business results through social media. Brands are still using social media as a broadcast channel.

Social media marketers face the difficulty to access technology that is flexible enough to meet their needs for approval workflow, compliance, asset management, moderation, etc. The tools available for managing social media are often lacking, and perpetuate the issues in social media marketing by overemphasizing broadcasting content and vanity metrics.Marketers don’t focus on driving business results through social media. Brands are still using social media as a broadcast channel.

Open-source is a revolution in an industry which is mostly dominated by big names, in other words it’s a boon in an industry which generally talks about hefty amounts from end users. With many organizations reaching out to open source it is undoubtedly becoming clear that price is not the only advantage which open-source holds against proprietary softwares. We have listed some distinct compelling advantages for business users as well as individuals:
Security : The more open the code is the more possibilities it holds to be tested in field and hence the more secure it can be made as is evident by example of Linux distributions.

* **Quality :** Thousands of developers contributing across international borders will obviously produce better quality outcome than a handful of developers.

* **Customizability :** Users can take a piece of open source software and tweak it to suit their needs as they please.

* **Freedom :** Open-source gives freedom from nasty vendor lock-in which people have to endure with proprietary softwares.

* **Flexibility :** Open source softwares are typically much less resource-intensive, meaning that people can run it well even on older hardware. It's up to end user not some vendor to decide when it's time to upgrade.

* **Interoperability :** Open source software is much better at degree of interoperability vis a vis proprietary software.

* **Auditability :** The visibility of the code behind open source software means you can see for yourself and be confident about the quality and functionality.

* **Try Before You Buy :** Costs nothing to try. No commitment required until you're sure.


Technology :
============

Socioboard comes up with two version. They are

* **[Socioboard-3.0](https://github.com/socioboard/Socioboard-4.0/tree/Socioboard-3.0)**

Socioboard-3.0 is created using ASP.NET CORE, MVC CORE, AngularJs and JQuery with database MySQL and MongoDB.

APIs to be used to retrieve or post the data to social networking sites would be:

> Twitter - REST API v1.1 – Wrapper Written in C#.net

> Facebook – Graph API – Facebook C# SDK

> linkedin – REST API - Wrapper Written in C#.net

> Google Plus – HTTP API - Wrapper Written in C#.net

> Instagram’s API - Wrapper Written in C#.net

The scheduler service, developed in C#, would run on a 24/7 server. This scheduler would post the message at the scheduled time to selected account(s). Please [click here](https://github.com/socioboard/Socioboard-4.0/tree/Socioboard-3.0#devices-and-platforms-) to checkout the configuration steps.

* **[Socioboard-4.0](https://github.com/socioboard/Socioboard-4.0/tree/Socioboard-4.0)**

Socioboard-4.0 is comes up centralized API which is implemented in Node.js, Express, Mongoose and Sequelize ORM and Frontend has been integrated with PHP.
The configuration links are given below.

* [Socioboard-4.0 API](https://github.com/socioboard/Socioboard-4.0/tree/master/socioboard-api)

* [Socioboard-4.0 PHP](https://github.com/socioboard/Socioboard-4.0/tree/master/socioboard-web-php)

100 changes: 100 additions & 0 deletions socioboard-api/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
![Socioboard API](http://i.imgur.com/aKbFCOy.png "Your Open-source Social Media Dashboard")
==========
Socioboard Api's is created with Node.js, Express, MongoDB and Sequelize ORM. Socioboard Api are classified to four micro services. They are namely

> User Services - Responsible for Managing User, Team, Payment, App Insights and Admin functionalities.
> Publish Services – Responsible for Managing Media Uploads, Scheduling, Publish now and Report functionalities through respective Social Network Api's.
> Feed Services – Responsible for fetching Feeds from Social network API's and various popular trending networks such as Pixabay, Imgur, Daily motion, Flickr and so on.
> Notification Services – Responsible for sending emails and notify the user activities through Socket.io
**Configuration Setup**
============

***Step 1: Install all dependency for microservices***
```shell
socioboard-api/user> npm install
socioboard-api/publish> npm install
socioboard-api/feeds> npm install
socioboard-api/notification> npm install
socioboard-api/library> npm install
```

***Step 2: Add the Mysql database creds***
```shell
socioboard-api/library\sequelize-cli\config>start config.json

# Setup the db creds on development environment
# "username": "<<db_username>>",
# "password": null,
# "database": "<<db_name>>",
# "host": "127.0.0.1",
# "dialect": "mysql",
```

***Step 3: Execute the Seqeulize-cli to initialize the Mysql***
```shell

# Set the node_env as development
socioboard-api/library/sequelize-cli> set node_env=development

# Lets migrate all neccessary tables
socioboard-api/library/sequelize-cli> ../node_modules/.bin/sequelize db:migrate

# Lets seeds the initial configuration for the application
socioboard-api/library/sequelize-cli> ../node_modules/.bin/sequelize db:seed —seed 20190213051930-initialize_application_info.js
```

***Step 4: Add the social network API Keys in config for each services***
```shell
# Update the client secrets of all social networks and application

socioboard-api/user/config> start development.json
socioboard-api/user/config> start default.json

socioboard-api/publish/config> start development.json
socioboard-api/publish/config> start default.json

socioboard-api/feeds/config> start development.json
socioboard-api/feeds/config> start default.json

socioboard-api/notification/config> start development.json
socioboard-api/notification/config>start default.json
```

***Step 5: Add the redirect urls in social networks***

> Facebook - <host_name>/facebook-callback
> Twitter - <host_name>/twitter/callback
> Google - <host_name>/google-callback
> LinkedIn - <host_name>/linkedIn-callback
> Pinterest - <host_name>/pinterest-callback
> Instagram - <host_name>/instagram-callback
Also, please add <host_name>/addSocialProfile redirect url to all above networks.

***Step 6: Run micro services***
```shell
# Please verify nodemon has been installed or not.

# Start User micro services
socioboard-api/user> set node_env=development
socioboard-api/user> nodemon app.js

socioboard-api/publish> set node_env=development
socioboard-api/publish> nodemon app.js

socioboard-api/feeds> set node_env=development
socioboard-api/feeds> nodemon app.js

socioboard-api/notification> set node_env=development
socioboard-api/notification> nodemon app.js

```
48 changes: 24 additions & 24 deletions socioboard-api/feeds/config/default.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,73 +12,73 @@
"applicationName": "Socioboard"
},
"authorize": {
"secret": "",
"token_secret": "",
"secret": "<<Any random secret key, used in encrypting the access token>>",
"token_secret": "<<Any token secret key, used in encrypting the access token>>",
"algorithm": "aes-256-cbc",
"encoding_typeOne": "utf8",
"encoding_typeTwo": "hex"
},
"analytics": {
"tracking_id": "",
"view_id": "",
"ganalytics_service_email": "",
"ganalytics_private_key": ""
"tracking_id": "<<Google Analytics tracking Id>>",
"view_id": "<<Google Analytics View Id>>",
"ganalytics_service_email": "<<Google Service Email Id, This email should have the permission on above track id.>>",
"ganalytics_private_key": "<<Google Service Email's Private Key>>"
},
"mailService": {
"defaultMailOption": "gmail",
"defaultMailOption": "<<Give the default mail services should take place (any one from => gmail,sendgridapi)>>",
"sendgrid": {
"username": "",
"password": "",
"frommail": "",
"ccmail": "",
"apiKey": ""
"username": "<<sendgrid username>>",
"password": "<<sendgrid password>>",
"frommail": "<<sendgrid frommail>>",
"ccmail": "<<sendgrid ccmail>>",
"apiKey": "<<sendgrid apiKey>>"
},
"gmailServices": {
"email": "",
"password": ""
"email": "<<gmail email>>",
"password": "<<password>>"
}
},
"content_studio": {
"basePath": "../../media",
"daily_motion": {
"api_key": "",
"secret_key": "",
"api_key": "<<Daily Motion Api key>>",
"secret_key": "<<Daily Motion Secret Key>>",
"version": "4.0.0",
"count": 100
},
"giphy": {
"api_key": "",
"api_key": "<<Giphy Api key>>",
"count": 25,
"version": "4.0.0",
"path": "../../media/giphy"
},
"newsapi": {
"api_key": "",
"api_key": "<<News Api Key>>",
"version": "4.0.0",
"count": 25
},
"pixabay": {
"api_key": "",
"api_key": "<<Pixabay Api Key>>",
"version": "4.0.0",
"count": 25,
"path": "../../media/pixabay"
},
"flickr": {
"api_key": "",
"api_secret": "",
"api_key": "<<Flickr Api Key>>",
"api_secret": "<<Flickr Api Secret>>",
"version": "4.0.0",
"count": 25,
"path": "../../media/flickr"
},
"imgur": {
"client_id": "",
"client_secret": "",
"client_id": "<<Imgur client id>>",
"client_secret": "<<Imgur client secret>>",
"version": "4.0.0",
"count": 25,
"path": "../../media/imgur"
},
"youtube": {
"api_key": "",
"api_key": "<<Youtube API Key>>",
"count": 15,
"version": "4.0.0"
}
Expand Down
Loading

0 comments on commit 873b6de

Please sign in to comment.