Mercetplace is a framework based off of Fraternate which is a standalone copy of the GitHub user management system. Designed using a mongodB, NodeJS, expressjs and Handlebarsjs MVC (model view controller).
Fraternatewas used as a barebones boilerplate allowing for a complete user management system. This website has a direct copy hosted on GitHub to allow users to copy the functionality directly.
Follow the installation instructions to download, create a local deployment and begin development of your app with prebuilt user and organizational control. Including commercial integration to allow for paid subscription services.
Fraternate is completely open source.
Gitflow workflow is used, clone the develop branch and merge/pr any work in please.
If you would like to install or contribute to Mercetplace, your local development machine requirements are the following components:
Node.js MongodB The GitHub Fraternate repo NPM expressjs
* Install NPM & MongoDB * npm install -g nodemon * Clone the repo * Create your own .env file or get it from Raltrwx * Install the mongodb package * run: systemctl start mongodb && systemctl enable mongodb * cd to the repo folder in terminal * nodemon * open localhost:3000
Install Node.js Download and install from the Node.js homepage.
https://nodejs.org/en/
Install mongodB | follow the set-up instructions on the website. (The trick is to create the c:/data/db directory then run mongod.exe). When in doubt the documentation on the site is very good. Download and install from the mongodB homepage.
https://www.mongodb.com/
Sign up for GitHub, install the windows GitHub client then clone the Fraternate repository.
Clone the repository on your hard drive, using the "clone or download" button on the GitHub front page for Fraternate.
Once downloaded, extract to the directory of your choice. For example:
C:\Fraternate
With node.js installed, the use of the NPM (Node Package Manager) service is now available from your command prompt, go into the directory where Fraternate was cloned using your preferred command prompt (DOS interface). For example:
cd\Fraternate
When you are at the command prompt in the correct directory, type in the following:
npm install npm@latest -g
The NPM service will now download and install into the cloned directory. The NPM service will now download and install into the cloned directory. When completed, enter the following:
npm install
To bring in the favicon (tab icons) server, use the following at the command prompt to install the favicon module.
npm install serve-favicon
To make life much easier, install nodemon. Nodemon provides some welcome server management for troublesome server crashes, type into the cmd(command) prompt:
npm install -g nodemon
To communicate between the mongo server and the client side, expressjs needs to be installed. type into the cmd prompt
npm install express
To send mails from the signup and contact page, nodemailer needs to be installed. type into the cmd prompt
npm install nodemailer
Robomongo is a very useful tool for viewing the mongodb database structure. Install from their website.
Download and install from the mongodb homepage.
https://robomongo.org/
To ensure non-robotic users sign in and signup, install the express recaptcha package.
npm install express-recaptcha -save
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.
See Ralt for .env details, or setup your own. SESSION_SECRET='' MONGODB='localhost' GOOGLE_ID='' GOOGLE_SECRET='' GITHUB_ID='' GITHUB_SECRET='' SITE_KEY='' SECRET_KEY='' MERCHANTID='' PUBLICKEY='' PRIVATEKEY='' MAIL_PORT='451' MAIL_USERNAME='bla@bla.com' MAIL_PASSWORD='--- add your details here ---'
Issues with starting the server on the first installation is likely due to missing NPM modules, If the server is crashing try installation the following modules independently.
npm install morgan npm install compression npm install method-override npm install express-session npm install express-flash npm install body-parser npm install express-validator npm install dotenv npm install express-handlebars npm install passport npm install mongoose npm install async npm install nodemailer npm install crypto npm install bcrypt-nodejs npm install passport-google-oauth npm install passport-local npm install passport-github
If you are getting stuck, this is a port of the quality work done on Megaboilerplate. Here are the installation instructions for Megaboilerplate
If you are still having trouble use the contact page , or add an issue on the GitHub Repo.
Here are a few points to consider when uploading onto the Heroku server.
Server crash due to missing .env file.The .env file contains all of the sites api and secret keys. Ensure that it exists on the server.