Coder Social home page Coder Social logo

zhangbozhb / itranswarp.js Goto Github PK

View Code? Open in Web Editor NEW

This project forked from michaelliao/itranswarp.js

0.0 3.0 0.0 6.9 MB

Full-featured CMS including blog, wiki, discussion, etc. powered by Nodejs.

Home Page: http://www.liaoxuefeng.com/

License: Apache License 2.0

Shell 0.08% JavaScript 61.19% CSS 28.78% HTML 9.95%

itranswarp.js's Introduction

itranswarp.js

icon

A nodejs powered website containing blog, wiki, discuss and search engine.

Build Status

  • 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_<NODE_ENV>.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

$ 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

2.1 - 14 Oct 2017

  • collapsable tree view for wiki
  • AD support

Database 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.x

1.11 - 21 Jul 2015

  • support article, wiki, discuss.
  • based on koa 1.x

itranswarp.js's People

Contributors

michaelliao avatar mkeating avatar

Watchers

James Cloos avatar travel avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.