From 2e58f17d3e4b84cbb2b10f447b5d7c61f977faaf Mon Sep 17 00:00:00 2001 From: OldHawk Date: Thu, 18 May 2017 10:40:01 +0800 Subject: [PATCH] update readme.md --- README.md | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 97 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 59abfe2a..d198125f 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,104 @@ meanTorrent is Based on [meanjs/mean](https://github.com/meanjs/mean) -funciton is coming, please wait... +more funciton is WIP, please wait... ================================== +meanTorrent is a Private `BitTorrent Tracker CMS` and a full-stack JavaScript open-source solution, which provides a solid starting point for [MongoDB](http://www.mongodb.org/), [Node.js](http://www.nodejs.org/), [Express](http://expressjs.com/), and [AngularJS](http://angularjs.org/) based applications. The idea is to solve the common issues with connecting those frameworks, build a robust framework to support daily development needs, and help developers use better practices while working with popular JavaScript components. + +## Before You Begin +Before you begin we recommend you read about the basic building blocks that assemble a meanTorrent application: +* MongoDB - Go through [MongoDB Official Website](http://mongodb.org/) and proceed to their [Official Manual](http://docs.mongodb.org/manual/), which should help you understand NoSQL and MongoDB better. +* Express - The best way to understand express is through its [Official Website](http://expressjs.com/), which has a [Getting Started](http://expressjs.com/starter/installing.html) guide, as well as an [ExpressJS](http://expressjs.com/en/guide/routing.html) guide for general express topics. You can also go through this [StackOverflow Thread](http://stackoverflow.com/questions/8144214/learning-express-for-node-js) for more resources. +* AngularJS - Angular's [Official Website](http://angularjs.org/) is a great starting point. You can also use [Thinkster Popular Guide](http://www.thinkster.io/), and [Egghead Videos](https://egghead.io/). +* Node.js - Start by going through [Node.js Official Website](http://nodejs.org/) and this [StackOverflow Thread](http://stackoverflow.com/questions/2353818/how-do-i-get-started-with-node-js), which should get you going with the Node.js platform in no time. + +## Prerequisites +Make sure you have installed all of the following prerequisites on your development machine: +* Git - [Download & Install Git](https://git-scm.com/downloads). OSX and Linux machines typically have this already installed. +* Node.js - [Download & Install Node.js](https://nodejs.org/en/download/) and the npm package manager. If you encounter any problems, you can also use this [GitHub Gist](https://gist.github.com/isaacs/579814) to install Node.js. +* MongoDB - [Download & Install MongoDB](http://www.mongodb.org/downloads), and make sure it's running on the default port (27017). +* Bower - You're going to use the [Bower Package Manager](http://bower.io/) to manage your front-end packages. Make sure you've installed Node.js and npm first, then install bower globally using npm: + +```bash +$ npm install -g bower +``` + +## Downloading meanTorrent +There are several ways you can get the meanTorrent boilerplate: + +### Cloning The GitHub Repository +The recommended way to get meanTorrent is to use git to directly clone the meanTorrent repository: + +```bash +$ git clone https://github.com/taobataoma/meanTorrent.git +``` + +This will clone the latest version of the meanTorrent repository to a **meanTorrent** folder. + +### Downloading The Repository Zip File +Another way to use the MEAN.JS boilerplate is to download a zip copy from the [master branch on GitHub](https://github.com/taobataoma/meanTorrent/archive/master.zip). You can also do this using the `wget` command: + +```bash +$ wget https://github.com/taobataoma/meanTorrent/archive/master.zip -O meanTorrent.zip; unzip meanTorrent.zip; rm meanTorrent.zip +``` + +Don't forget to rename **meanTorrent-master** after your project name. + +## Quick Install +Once you've downloaded the boilerplate and installed all the prerequisites, you're just a few steps away from starting to develop your meanTorrent application. + +The boilerplate comes pre-bundled with a `package.json` and `bower.json` files that contain the list of modules you need to start your application. + +To install the dependencies, run this in the application folder from the command-line: + +```bash +$ npm install +``` + +This command does a few things: +* First it will install the dependencies needed for the application to run. +* If you're running in a development environment, it will then also install development dependencies needed for testing and running your application. +* When the npm packages install process is over, npm will initiate a bower install command to install all the front-end modules needed for the application +* To update these packages later on, just run `npm update` + +## Running Your Application + +Run your application using npm: + +```bash +$ npm start +``` + +Your application should run on port 3000 with the *development* environment configuration, so in your browser just go to [http://localhost:3000](http://localhost:3000) + +That's it! Your application should be running. To proceed with your development, check the other sections in this documentation. +If you encounter any problems, try the Troubleshooting section. + +Explore `config/env/development.js` for development environment configuration options. + +### Running in Production mode +To run your application with *production* environment configuration: + +```bash +$ npm run start:prod +``` + +Explore `config/env/production.js` for production environment configuration options. + +### Running with TLS (SSL) +Application will start by default with secure configuration (SSL mode) turned on and listen on port 8443. +To run your application in a secure manner you'll need to use OpenSSL and generate a set of self-signed certificates. Unix-based users can use the following command: + +```bash +$ npm run generate-ssl-certs +``` + +Windows users can follow instructions found [here](http://www.websense.com/support/article/kbarticle/How-to-use-OpenSSL-and-Microsoft-Certification-Authority). +After you've generated the key and certificate, place them in the *config/sslcerts* folder. + +Finally, execute prod task `npm run start:prod` +* enable/disable SSL mode in production environment change the `secure` option in `config/env/production.js` + ## License [The MIT License](LICENSE.md)