Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jondo89/fraternate

Fraternate is a standalone copy of the GitHub organization and user interaction framework. Built with Mongo dB | Node.js® | Express.js | Handlebars.js | Bootstrap.
https://github.com/jondo89/fraternate

boilerplate expressjs github handlebars-js heroku login mongodb organization permission-manager profile recaptcha signin signup standalone ui wrasse

Last synced: 17 days ago
JSON representation

Fraternate is a standalone copy of the GitHub organization and user interaction framework. Built with Mongo dB | Node.js® | Express.js | Handlebars.js | Bootstrap.

Awesome Lists containing this project

README

        

# Fraternate

## What is Fraternate?

Fraternate is a standalone copy of the GitHub user subscription system. Fraternate is open-source, start by deploying as a boilerplate directly off GitHub , or use the npm module as a standalone plugin. Download the Full stack boilerplate using Node.js Mongodb Express.js Handlebars.js from Github.

### [VIEW THE DEMO - FRATERNATE](https://fraternate.herokuapp.com/)

## Installation
* Download the github file.
* Unzip into a new directory.
* Using your preferred command line editor , run NPM INSTALL.
* create your .env file in the root of the working folder structure (Copy the details below as the framework to get the site working).
* Add all of the relevant keys , passwords , usernames etc to the .env file. This is not configured to be user friendly , and will likely require a bit of messing around.
* Run nodemon on the command prompt to start the server.
* You will need the following items configured and functioning:
* Mongodb installed and running on the localhost.
* NPM installed and running.
* Node.js installed and running.
* open the localhost i.e http://localhost:2000/

## Required Empty Database Configuration
Limited time has been spent on zero data configuration, and this is a work in progress. If you do fork this and try, let me know where you get stuck , and Ill push changes to suit.

## Features

#### User Control

* Sign in / Login
* Signup
* Oauth GitHub / Google
* Unique Usernames
* Recaptcha
* Forgot Password
* Delete Account
* Public Profile
* Profile Pictures
* Email Notifications

#### Organization Control

* Create Organization
* Delete Organization
* Invite to Organization
* Request Invite to Organization
* Edit Memberships
* Unique Organization Names
* Public Organization Profile

#### Issue Tracking

* Stand alone issue/comment system
* Grouped issue/comment system

### The `.env` File

All of the magic on your localhost is managed by the `.env` file, here you would add your SMTP host setting, ReCaptcha keys etc. Some example values are shown below.

When installation is done on Heroku, the keys should be added to the Settings tab, in the "reveal config variable" area.
```
MAILGUN_USERNAME=''
MAILGUN_PASSWORD=''
SESSION_SECRET=''
MONGODB=''
MONGODBNAME=''
MONGODBU=''
MONGODBP=''
MONGODBURI=''
GOOGLE_ID=''
GOOGLE_SECRET=''
API_KEY=''
TRACKINGCODEGA=''
GITHUB_ID=''
GITHUB_SECRET=''
SITE_KEY=''
SECRET_KEY=''
MAIL_PORT=''
MAIL_USERNAME=''
MAIL_HOST=''
MAIL_PASSWORD=''
MERCHANTID=''
PUBLICKEY=''
PRIVATEKEY=''
MERCHANTIDPAYFAST=''
MERCHANTKEYPAYFAST=''
PASSPHRASEPAYFAST=''
URLPAYFAST=''
LOCALHOSTPORT='4000'
WEBSITE='http://localhost:4000'
VERIFICATION_GOOGLE = ''
ROOTFOLDER=''
DEBUG='true'
DARKMODE = 'true'
```

The .env file contains all of the sites api and secret keys. Ensure that it exists on the server.

## License

MIT