Skip to content

g0v/jothon-net

Folders and files

NameName
Last commit message
Last commit date

Latest commit

3945ef5 · Mar 29, 2025
Jul 5, 2018
Jul 5, 2018
Mar 29, 2025
May 2, 2019
May 24, 2024
Mar 29, 2025
Jan 6, 2018
Jan 6, 2018
May 2, 2019
Feb 6, 2025
Jun 5, 2019
Oct 7, 2020
Feb 7, 2023
Feb 7, 2023
Dec 29, 2017
Dec 12, 2017
Dec 29, 2017

Repository files navigation

jothon-net

揪松網 2.0。 https://jothon.g0v.tw/

改進部份

  • 資訊架構重新規畫
  • 更清楚具體的黑客松介紹
  • 內容與網站抽離
  • 登入系統 ( 為了未來的媒合、提案與報名系統做準備 )
  • g0v login ( 建立 g0v 系統生態系 )

未來規劃

  • Marketing
    • i18n ( 讓國外看見 )
    • 自動化 g0v 資訊收集與視覺化 ( 成果展示 / 募資與贊助 / 行銷與推廣 )
  • Community / Retention
    • 一鍵分支大松 - 開松工具包 ( 加速專案多中心化 )
    • 提案系統 - Project Hub ( 完善提案資訊匯整並合併 g0v 獎助金 / 大松提案 / 線下提案 )
    • 人物誌 - People Hub ( 提升媒合效率, 平台黏著度 )
    • 坑主真經 ( 協助坑主管理專案的工具與手冊 )
  • Acquisition
    • 新參者分類帽 - 給新手的遊戲化指南書 ( 降低進入門檻 )
    • 報名系統 ( 提升平台黏著度 )

Usage

網站使用 nodejs 搭配 jade, stylus, livescript 產生靜態頁面,需先安裝 nodejs,並確定 nodejs 的版本至少在 7.6.0 以上。版本檢驗方式:

$ node --version

接著,請執行:

$ npm i
$ cp secret-default.ls secret.ls
$ ./node_modules/.bin/lsc server.ls

以上為舊版,目前將登入與驗證暫時移除,僅留下靜態網頁部份

$ npm i
$ npm run build
$ npm start

然後使用瀏覽器開啟 http://localhost:3000/.

如何更新揪松網大松訊息

Update Files

  1. Modify the data for the nth Hackathon:

    jothon-net/data/featuring.yaml	# 修改成第 N 次黑客松資料
  2. Add new files:

    jothon-net/data/events/OO.yaml  # 第 N 次黑客松資料
    jothon-net/static/assets/img/events/OO.jpg  # 上傳第 N 次黑客松主圖 (16:9 建議 1920 x 1080), 只吃 .jpg 檔

Rebuild and Start

  1. Rebuild the project:

    $ npm run build
    $ npm start

Commit and Deploy

  1. Commit your changes and deploy:

    $ git add .
    $ git commit -m "Update nth Hackathon data"
    $ ./deploy

Configuration for Production

  1. Install NodeJS

    • Version >= 9.2.1
  2. Install PostgreSQL

    • Version >= 9.6.0
  3. Create Database and User

    CREATE DATABASE jothon;
    CREATE USER jothon WITH SUPERUSER;
  4. Clone Repository

    $ git clone https://github.com/g0v/jothon-net/
    $ cd jothon-net
  5. Install Dependencies

    $ npm install
  6. Configure Secrets

    • Copy secret-default.ls to secret.ls
    • Set usedb = true
    • Setup PostgreSQL URI in io-pg
  7. Configure Site

    • Edit config/site/default.ls
    • Set domain to your desired domain
  8. Configure Nginx

    • Copy config/nginx/sample.nginx to config/nginx/production.nginx
    • Update server_name to your desired host
    • Set project-root to your repo location
  9. Generate OpenID-Connect Keys

    $ lsc tools/openid-keygen
    $ mv keystore.json config/keys/openid-keystore.json
  10. Start Server

    $ lsc server
  11. (Optional) Configure SSL

    • Prepare a temporary Nginx config and run Certbot:

      $ sudo certbot certonly --webroot -w [temp-webroot-dir] -d [domain-name]
    • Update production Nginx config to use SSL:

      listen 443;
      ssl on;
      ssl_certificate /path/to/your/fullchain.pem;
      ssl_certificate_key /path/to/your/privatekey.pem;

LICENSE

MIT License