{"id":21590029,"url":"https://github.com/toolbuddy/ncku-csie-website","last_synced_at":"2025-04-10T21:56:02.513Z","repository":{"id":48984792,"uuid":"117324437","full_name":"toolbuddy/NCKU-CSIE-Website","owner":"toolbuddy","description":"Modern website template created by node js","archived":false,"fork":false,"pushed_at":"2021-07-02T05:20:29.000Z","size":54616,"stargazers_count":5,"open_issues_count":0,"forks_count":29,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-10T21:55:47.275Z","etag":null,"topics":["css3","es6","html5","koa","node","nodejs","scss","webpack"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/toolbuddy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-01-13T07:40:57.000Z","updated_at":"2022-10-01T20:53:24.000Z","dependencies_parsed_at":"2022-09-05T01:00:13.348Z","dependency_job_id":null,"html_url":"https://github.com/toolbuddy/NCKU-CSIE-Website","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toolbuddy%2FNCKU-CSIE-Website","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toolbuddy%2FNCKU-CSIE-Website/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toolbuddy%2FNCKU-CSIE-Website/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toolbuddy%2FNCKU-CSIE-Website/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/toolbuddy","download_url":"https://codeload.github.com/toolbuddy/NCKU-CSIE-Website/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248305839,"owners_count":21081574,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["css3","es6","html5","koa","node","nodejs","scss","webpack"],"created_at":"2024-11-24T16:16:37.023Z","updated_at":"2025-04-10T21:56:02.490Z","avatar_url":"https://github.com/toolbuddy.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NCKU CSIE Website\n\nBuild a better website for NCKU CSIE.\n\n## Installation \u0026 Setup\n\n0. Use **Unix-like** OS.\n1. Get [Node.js](https://nodejs.org/en/) from [official website](https://nodejs.org/en/).\n2. Clone from GitHub\n    ```sh\n    git clone https://github.com/toolbuddy/NCKU-CSIE-Website.git\n    ```\n3. Install dependencies\n    ```sh\n    npm install\n    ```\n4. Build\n    - Setup **server** configuration files\n        - **Create** server configuration files by running:\n            ```\n            npm run pre-build:server\n            ```\n        - **Filling-in** information required by `settings/server/config.js`.\n            - Fill in `domainName` for **server domain name** information.\n            - Fill in `protocol`, either `'http'` or `'https'`.\n            - Fill in `port` for **server port** information.\n            - Fill in `host` and `staticHost` information.\n    - Setup **database** configuration files\n        - **Create** database configuration files by running:\n            ```sh\n            npm run pre-build:database\n            ```\n        - **Filling-in** information required by `settings/database/config.js`.\n            - Fill in `username` and `password` for **database authentication** information\n            - Fill in `domainName` for **database domain name** information\n            - Fill in `port` for **database server port** information (**not required** in **develop** mode).\n            - Fill in `dialect` with database you use.\n            - If you are a developer and need to connect to our database, please contact us.\n    - Copy `tinymce` resources\n        ```sh\n        npm run pre-build:tinymce\n        ```\n    - Build Server, HTML, CSS and ECMAScript files by running:\n        ```sh\n        npm run build\n        ```\n\n## Run\n\n```sh\nnpm start\n```\n\n## Run in develop mode\n\n```sh\nnpm run develop\n```\n\n### Develop Guide\n\nThis project is run on [Node.js](https://nodejs.org/en/).\nWe use a lot of tools to help develop (ex. Pug (HTML5), Sass (css)), and we use linters to unify coding style.\nPlease check the following before you submit a pull request.\n\n- ECMAScript ( JavaScript )\n    - ES6+ syntax supported.\n    - camelCase naming style.\n    - Lint ECMAScript files with following commands:\n        - Frontend: `npm run lint:js`\n        - Backend: `npm run lint:server`\n    - Build ECMAScript files: `npm run build:js`\n- HTML\n    - Using Pug template engine.\n    - HTML5 semantic tags only (don't use tags like `div`, `i`, `b`, etc).\n    - Lint Pug files by running `npm run lint:html`.\n    - Build HTML files: `npm run build:html`\n- CSS\n    - Using Sass.\n    - CSS3+ syntax supported.\n    - BEM naming convention:\n        - Block: Control layout of its elements (structure).\n        - Element: Control outfit of itself (skin).\n        - Modifier: Modified style of specific element.\n    - Lint SCSS files by running `npm run lint:css`.\n    - Build CSS files: `npm run build:css`\n- Git\n    - Using Git flow as development standard.\n    - Following branches are used:\n        - `master`: Major stable version.\n        - `release`: Ready to release version, need test to be proof stable.\n        - `develop`: Develop version, not yet ready to publish.\n        - `feature-*`: New feature, may or may not be merge back to `develop`.\n        - `hotfix-*`: Quick fix for major version.\n\n### Known issue in develop mode\n\n- We use `webpack --watch` to monitor files change. Some Linux OS will complain about watching too many file, run the following command to fix this issue:\n\n```sh\necho fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf \u0026\u0026 sudo sysctl -p\n```\n\n## Long Term Goal\n\nWe are going to build a website which have following feature:\n\n- Frequently updated information about NCKU CSIE.\n- Fancy UI to attract students to contribute.\n\n## Want to contribute?\n\nAnyone can help us to make this project better!\nFeel free to contact us if you have question.\n\n## Team ProFatXuanAll\n\nSpecial thanks for\n\n- Designer: [lanhsincheng](https://github.com/lanhsincheng) and [Cindy](https://www.facebook.com/cindy461022).\n- Active Developer: [ProFatXuanAll](https://github.com/ProFatXuanAll), [kaeteyaruyo](https://github.com/kaeteyaruyo), [AmyLin0210](https://github.com/AmyLin0210), [Rispolyv0n](https://github.com/Rispolyv0n).\n- Participant: [danielian1121](https://github.com/danielian1121), [ya-sin](https://github.com/ya-sin), [yellow951321](https://github.com/yellow951321), [aqwefghnm](https://github.com/aqwefghnm), [eecheng87](https://github.com/eecheng87), [Kazumachi124170](https://github.com/Kazumachi124170), [k32367mdbf](https://github.com/k32367mdbf), [wang0630](https://github.com/wang0630), [Darkborderman](https://github.com/Darkborderman).\n- Founder of [Toolbuddy](https://github.com/toolbuddy) Organization: [kevinbird61](https://github.com/kevinbird61)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoolbuddy%2Fncku-csie-website","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftoolbuddy%2Fncku-csie-website","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoolbuddy%2Fncku-csie-website/lists"}