ksquareincmx / conference-server

Manage conference rooms inside you organization

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Conference Server

Server application to booking conferences room

Table of contents

  1. Production
  2. Development
  3. Docs
  4. Print database creation SQL
  5. License

Installing / Getting started

This app uses Flugzeug /ˈfluːktsɔʏ̯k/ ✈️ framework

It's recommended to have basic knowledge of the technologies and structure using in the framework before working with this project.

Developing

Prerequesites

It's neccesary install global dependencies:

  1. Install MySQL (Linux)
    # Linux
    sudo apt update
    sudo apt install mysql-server mysql-client
npm install -g nyc mocha source-map-support apidoc gulp

Setting up dev

Download and install dependencies:

git clone https://github.com/ksquareincmx/  conference-server.git
cd conference-server
npm install

Set enviroment variables:

cp env.example .env

It's necessary to generate google oauth credentials and jwt secret, and set enviroment variables.

Generate jwt secret:

printf "%s\n" $(openssl rand -base64 32 | tr -dc 0-9A-Za-z | head -c 40)

Generate google oauth2 credentials

Building

Execute project in localhost:

gulp watch

You must see the next output:

[09:11:07] Using gulpfile ~/GitHub/Ksquare/conference-server/gulpfile.js
[09:11:07] Starting 'clean-serve'...
[09:11:07] Starting 'clean'...
[09:11:07] Finished 'clean' after 7.62 ms
[09:11:07] Starting 'copy-views'...
[09:11:07] Finished 'copy-views' after 21 ms
[09:11:07] Starting 'copy-locales'...
[09:11:07] Finished 'copy-locales' after 2.15 ms
[09:11:07] Starting 'compile'...
[09:11:11] Finished 'compile' after 4.06 s
[09:11:11] Starting 'serve'...
[09:11:11] Finished 'serve' after 7.76 ms
[09:11:11] Finished 'clean-serve' after 4.1 s
[09:11:11] Starting 'watch'...
[09:11:11] Finished 'watch' after 16 ms
2019-04-01T15:11:12.733Z - info: conference-booking started at port 8888

Deploying / Publishing

See deploy strategy

API Tests

For run the test is necessary follow the next steps:

gulp seed
gulp watch
gulp test

Style guide

It's recommended to install Prettier plugin and use the default configuration

  1. Start the development server
gulp watch

Docs

API Refence

You can see the API documentation in dev mode following the next steps:

gulp apidoc
gulp watch

See documentation: localhost:8888/apidoc, if you are running your project in production mode you can access change localhost:port by your URL

Database

Install MySQL (Linux)

sudo apt update
sudo apt install mysql-servemysql-client

Configure MySQL

# Fix to ERROR 1298 (HY000): Unknown or incorrect time zone: 'UTC'
sudo mysql_tzinfo_to_sql /usr/share/zoneinfo | sudo mysql -u root -p mysql

# Connect to MySQL server
sudo mysql -u root -p

# Create database
mysql> create database `conference-booking`;

## License

MIT

About

Manage conference rooms inside you organization

License:MIT License


Languages

Language:TypeScript 90.1%Language:HTML 5.5%Language:JavaScript 2.9%Language:Shell 1.2%Language:Dockerfile 0.2%