Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/michaelliao/itranswarp.js
Deprecated. See https://github.com/michaelliao/itranswarp
https://github.com/michaelliao/itranswarp.js
Last synced: 21 days ago
JSON representation
Deprecated. See https://github.com/michaelliao/itranswarp
- Host: GitHub
- URL: https://github.com/michaelliao/itranswarp.js
- Owner: michaelliao
- License: apache-2.0
- Archived: true
- Created: 2014-02-10T00:35:42.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2019-02-22T08:34:40.000Z (over 5 years ago)
- Last Synced: 2024-02-18T15:36:36.463Z (4 months ago)
- Language: JavaScript
- Homepage:
- Size: 7.09 MB
- Stars: 1,405
- Watchers: 151
- Forks: 720
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- awesome - michaelliao/itranswarp.js - Deprecated. See https://github.com/michaelliao/itranswarp (JavaScript)
- awesome-github-star - itranswarp.js
- awesome-stars - itranswarp.js - Full-featured CMS including blog, wiki, discussion, etc. powered by Nodejs. (JavaScript)
README
# itranswarp.js
![icon](https://raw.githubusercontent.com/michaelliao/itranswarp.js/master/resource/icon-64x64.png)
A nodejs powered website containing blog, wiki, discuss and search engine.
[![Build Status](https://travis-ci.org/michaelliao/itranswarp.js.svg?branch=master)](https://travis-ci.org/michaelliao/itranswarp.js)
* based on koa2 with ES7 async/await
* OAuth2 integration (weibo, QQ, facebook, etc.)
* SEO support
* REST api
* customized css with uikit2
* fully tested (using mocha/chai)### Environment
Nodejs: >= 8.x
MySQL: 5.6 ~ 5.7
Memcache
Nginx
### Configurations
You should make a copy of `config_default.js` to `config_.js`, and override some of the settings you needed.
For example, if NODE_ENV=production, you need create `config_production.js`:
$ cp www/config_default.js www/config_production.js
You can safely remove any settings you do not changed.
### Install packages
Run `npm install` to install all required packages:
$ npm install
### Initialize database
Run `node schema > init_db.sql` to generate initial schema as well as administrator's email and password.
You will get `init_db.sql` file in current directory. Run this SQL script by:
$ mysql -u root -p < init_db.sql
NOTE: re-run this SQL file will remove all existing data.
### Test
iTranswarp.js is fully tested. To run tests, make sure:
* run MySQL in localhost and set root password as `password`.
* run Memcache in localhost.Then run:
$ mocha
Schema will be created in MySQL `test` database before run tests.
### Run
All settings can be override by environments:
export NODE_ENV=development
export DOMAIN=local.liaoxuefeng.com
export DB_PASSWORD=xxxPlease check `config_default.js` for more settings.
Then run:
$ node start.js
You should able to see the home page in the browser with address `http://localhost:2017/`.
If you want to sign in to management console, go to `http://localhost:2017/manage/signin`, and sign in using the email and password you entered when running `node schema`.
### Changelog
9 Dec 2018
Responsive navigation bar.
2.1 - 14 Oct 2017
* collapsable tree view for wiki
* AD supportDatabase schema update:
```
DROP TABLE `randoms`;CREATE TABLE `randoms` (
`id` varchar(50) NOT NULL,
`name` varchar(50) NOT NULL,
`value` varchar(50) NOT NULL,
`expired_at` bigint(20) NOT NULL,
`created_at` bigint(20) NOT NULL,
`updated_at` bigint(20) NOT NULL,
`version` bigint(20) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uni_rnd_value` (`value`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;CREATE TABLE `adslots` (
`id` varchar(50) NOT NULL,
`alias` varchar(50) NOT NULL,
`name` varchar(100) NOT NULL,
`description` varchar(1000) NOT NULL,
`price` bigint(20) NOT NULL,
`width` bigint(20) NOT NULL,
`height` bigint(20) NOT NULL,
`num_slots` bigint(20) NOT NULL,
`num_auto_fill` bigint(20) NOT NULL,
`auto_fill` text NOT NULL,
`created_at` bigint(20) NOT NULL,
`updated_at` bigint(20) NOT NULL,
`version` bigint(20) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uni_adslot_alias` (`alias`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;CREATE TABLE `adperiods` (
`id` varchar(50) NOT NULL,
`user_id` varchar(50) NOT NULL,
`adslot_id` varchar(50) NOT NULL,
`display_order` bigint(20) NOT NULL,
`start_at` varchar(10) NOT NULL,
`end_at` varchar(10) NOT NULL,
`created_at` bigint(20) NOT NULL,
`updated_at` bigint(20) NOT NULL,
`version` bigint(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;CREATE TABLE `admaterials` (
`id` varchar(50) NOT NULL,
`user_id` varchar(50) NOT NULL,
`adperiod_id` varchar(50) NOT NULL,
`cover_id` varchar(50) NOT NULL,
`weight` bigint(20) NOT NULL,
`start_at` varchar(10) NOT NULL,
`end_at` varchar(10) NOT NULL,
`geo` varchar(100) NOT NULL,
`keywords` varchar(100) NOT NULL,
`url` varchar(1000) NOT NULL,
`created_at` bigint(20) NOT NULL,
`updated_at` bigint(20) NOT NULL,
`version` bigint(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
```2.0 - 15 Jul 2017
* fully async/await support
* markdown plugin support
* based on koa 2.x1.11 - 21 Jul 2015
* support article, wiki, discuss.
* based on koa 1.x