diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..844f169 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,62 @@ +name: Continuous integration +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + build: + name: Build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Define container metadata before build + id: meta + uses: docker/metadata-action@v4 + with: + images: ghcr.io/inje-megabrain/megabrain.kr + tags: | + type=schedule + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}} + type=sha + + - name: Setup nodejs + uses: actions/setup-node@v2 + with: + node-version: 20 + cache: npm + + - name: Install npm dependencies + run: npm ci + + - name: Build + run: npm run build + + - name: Set up Docker Buildx (Builder instance) + uses: docker/setup-buildx-action@v2 + + - name: Login to Github Container Registry for Image Push + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GHCR_TOKEN }} + + - name: Build Image and Push + uses: docker/build-push-action@v2 + with: + context: . + push: true + platform: linux/amd64 + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + cache-from: type=gha + cache-to: type=gha,mode=max diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5449059 --- /dev/null +++ b/.gitignore @@ -0,0 +1,21 @@ +# 의존성 +/node_modules + +# 배포 +/build + +# 생성된 파일 +.docusaurus +.cache-loader + +# 기타 +.DS_Store +.idea +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5f013c4 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,28 @@ +## Base ######################################################################## +# Use a larger node image to do the build for native deps (e.g., gcc, python) +FROM node:20-alpine as base + +# Reduce npm log spam and colour during install within Docker +ENV NPM_CONFIG_LOGLEVEL=warn +ENV NPM_CONFIG_COLOR=false + +# We'll run the app as the `node` user, so put it in their home directory +WORKDIR /home/node/app +# Do the chown so that the node_modules/.cache can be updated +RUN chown -R node:node /home/node + +# Copy the source code over +COPY --chown=node:node . /home/node/app/ + +## Development ################################################################# +# Define a development target that installs devDeps and runs in dev mode +FROM base as development +WORKDIR /home/node/app +# Install (not ci) with dependencies, and for Linux vs. Linux Musl (which we use for -alpine) +RUN npm install +# Switch to the node user vs. root +USER node +# Expose port 3000 +EXPOSE 3000 +# Start the app in debug mode so we can attach the debugger +CMD ["npm", "start"] diff --git a/README.md b/README.md index fcea2e6..0c6c2c2 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,41 @@ -# megabrain.kr -megbrain.kr 사이트 관리 레퍼지토리 +# Website + +This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator. + +### Installation + +``` +$ yarn +``` + +### Local Development + +``` +$ yarn start +``` + +This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. + +### Build + +``` +$ yarn build +``` + +This command generates static content into the `build` directory and can be served using any static contents hosting service. + +### Deployment + +Using SSH: + +``` +$ USE_SSH=true yarn deploy +``` + +Not using SSH: + +``` +$ GIT_USER= yarn deploy +``` + +If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch. diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..e00595d --- /dev/null +++ b/babel.config.js @@ -0,0 +1,3 @@ +module.exports = { + presets: [require.resolve('@docusaurus/core/lib/babel/preset')], +}; diff --git a/blog/postTemplate.md b/blog/postTemplate.md new file mode 100644 index 0000000..8c574da --- /dev/null +++ b/blog/postTemplate.md @@ -0,0 +1,6 @@ +# 테스트 작성글 + +크롤링을 통해 가져온 게시글 + +CSR을 통해 가져온 게시글은 SEO에 영향을 끼치지 않으니 연동에 관한 걱정이 없습니다. + diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..cec563d --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,11 @@ +version: '3.8' +services: + docusaurus: + build: + dockerfile: Dockerfile + context: . + target: development + volumes: + - .:/home/node/app + ports: + - ${PORT:-3001}:3000 diff --git a/docs/activities/megacon/2022.mdx b/docs/activities/megacon/2022.mdx new file mode 100644 index 0000000..99b5465 --- /dev/null +++ b/docs/activities/megacon/2022.mdx @@ -0,0 +1,13 @@ +--- +title: "2022년" +--- +# 메가콘 2022 +행사 위치: 2022.12.02. 18:00 인제대학교 E동 대강당 + +메가브레인에서 최초로 개최한 첫 오프라인 컨퍼런스입니다. + +![](/img/megacon2022-1.jpg) +![](/img/megacon2022-2.jpg) +![](/img/megacon2022-3.jpg) +![](/img/megacon2022-4.jpg) +![](/img/megacon2022-5.jpg) diff --git a/docs/activities/megacon/2023.mdx b/docs/activities/megacon/2023.mdx new file mode 100644 index 0000000..0345b2a --- /dev/null +++ b/docs/activities/megacon/2023.mdx @@ -0,0 +1,29 @@ +--- +title: "2023년" +--- + +# 메가콘 2023 + +## 발표 세션 +![](/img/megacon_2023_sessions.png) + +## 발표 자료 + +# 2023년을 돌아보며 + +| 순서 | 제목 | 발표자 | 발표 영상 | 발표자료 +|---:| :--- | :---: | :---: | :---: | +| 1 | 2023년을 돌아보며 | 김동현 | [유튜브](https://youtu.be/nhtwwhB72PI?si=TdgGTm1X0lykYdU_) | [다운로드](https://docs.google.com/presentation/d/1yp0mAaSf7eEEvi6g5c0lJPgOjcpywoe5/edit?usp=drive_link&ouid=117719804488263619306&rtpof=true&sd=true) | +| 2 | 앱 개발 도전과 나의 방향성 | 김훈정 | 유튜브 | [다운로드](https://drive.google.com/file/d/1Tp0HBuMma9PhIiXLYOQUS1LszW6tOkfz/view?usp=drive_link) | +| 3 | Supply chain security management using SBOM | 허주호 | 유튜브 | [다운로드](https://drive.google.com/file/d/1vIEkwgk4K-0LDI_kvTtAk10uGK6l_kW9/view?usp=drive_link) | +| 4 | RestDocs를 이용한 테스트 주도 개발 | 문상원 | [유튜브](https://youtu.be/3egAqUDNCmk?si=biuHoX-DPQRP8MgT) | [다운로드](https://docs.google.com/presentation/d/16mIxn3qPwMDdaNo1qFW6c1W4QbsVuHyN/edit?usp=drive_link&ouid=117719804488263619306&rtpof=true&sd=true) | +| 5 | 2023년 회고 | 박영건 | [유튜브](https://youtu.be/7yHzP3D9wEY?si=NORfDf8OSZNxYTcl) | [다운로드](https://docs.google.com/presentation/d/17X-KQ_WHAz3GJYkPwXmwMdLDgffJuYJS/edit?usp=drive_link&ouid=117719804488263619306&rtpof=true&sd=true) | +| 6 | 내가 사랑했던 Seity. | 신종웅 | [유튜브](https://youtu.be/6Tqr8TpVzJk?si=B_ozfzExyCY0GoSW) | [다운로드](https://drive.google.com/file/d/1fyc7DV-8WkE1na2N7tRY8C7r6fC7sSqX/view?usp=drive_link) | +| 7 | 코드로 보는 객체지향 설계 | 임채성 | [유튜브](https://youtu.be/lHdbg-FwFNs?si=YrW8zjs4IgXMAPEb) | [다운로드](https://drive.google.com/file/d/1_0hA8-ZWzKDI9IFN3YfB9xF6HyLiNr6J/view?usp=drive_link) | +| 8 | Google Analytics로 본 Meme Generator 프로젝트 | 최진서 | [유튜브](https://youtu.be/CkWEOASKVW4?si=ibaEZ6KfV_Jm3i3-) | [다운로드](https://docs.google.com/presentation/d/1NmqnfFDQp3fyl0eZU9LbzgGDUF2ycuvZ/edit?usp=drive_link&ouid=117719804488263619306&rtpof=true&sd=true) | +| 9 | React 렌더링 최적화 | 김정원 | [유튜브](https://youtu.be/45IKzHlNFzM?si=D2fVEi8B5ZsP307J) | [다운로드](https://docs.google.com/presentation/d/1nVJdYLYFW5XQkxcg8qYhYeWgZ450kXdq/edit?usp=drive_link&ouid=117719804488263619306&rtpof=true&sd=true) | +| 10 | 당신이 좋든 싫든 Web3, Web 3.0의 시대는 온다 | 이성현 | [유튜브](https://youtu.be/l57tZ5LNPE0?si=PLSVJOJCgxPQy3Yl) | [다운로드](https://drive.google.com/file/d/1gRynwI9QvbGOkt9Wtzar7pA4JO5XTVMb/view?usp=drive_link) | +| 11 | Unity 소개 및 개인적인 비전 | 문보경 | [유튜브](https://youtu.be/l0DPb2wk0WI?si=ugCeTHxk0EyNdwbE) | [다운로드](https://drive.google.com/file/d/1bWZVmN2iw5eCHFY_GuqcEHzDpus6lRvW/view?usp=drive_link) | +| 12 | ElasticSearch를 이용한 검색 개발 | 박성훈 | [유튜브](https://youtu.be/CkWEOASKVW4?si=vlIpSUdWnvy09qWC) | [다운로드](https://docs.google.com/presentation/d/1LeZg06DWlbvfAfpk2TZblBDBVs-66UaT/edit?usp=drive_link&ouid=117719804488263619306&rtpof=true&sd=true) | +| 13 | Prometheus 모니터링 통합 시스템 | 문준호 | [유튜브](https://youtu.be/mpjeY_g1h6w?si=CKvu4BTVQ3KB3Zpo) | [다운로드](https://docs.google.com/presentation/d/1JCjIwS0hCK9TmL-bpioBvezak-dY5mxf/edit?usp=drive_link&ouid=117719804488263619306&rtpof=true&sd=true) | +| 14 | AWS보안 인프라와 ZERO TRUST | 최재혁 | [유튜브](https://youtu.be/1UDTeOAKYzU?si=-sYSJNWSSCeZujJV) | [다운로드](https://drive.google.com/file/d/1cEt8Ra8tH_7Pgu5dWDWjATDhcvGYn-E3/view?usp=drive_link) | diff --git a/docs/activities/megacon/_category_.json b/docs/activities/megacon/_category_.json new file mode 100644 index 0000000..e7da6ec --- /dev/null +++ b/docs/activities/megacon/_category_.json @@ -0,0 +1,7 @@ +{ + "label": "메가콘", + "link": { + "type": "generated-index", + "description": "메가브레인에서 주최하는 학술 컨퍼런스입니다." + } +} diff --git a/docs/activities/megathon/2023.mdx b/docs/activities/megathon/2023.mdx new file mode 100644 index 0000000..7978f23 --- /dev/null +++ b/docs/activities/megathon/2023.mdx @@ -0,0 +1,67 @@ +--- +title: "2023년" +--- + + +import ReactPlayer from "react-player"; + +# 메가톤 2023 +행사 기간: 2023.02.04.14:00 ~ 2023.02.05.14:00 + +## Mega-OS팀 + +### 프로젝트 소개 +M-OS는 리눅스를 많이 사용하는 사람들에게 ‘파일 관리’를 윈도우처럼 UI로 편하게 제공하고자 만들게 된 웹OS입니다. + +### 참여자 +- 문준호 +- 김성현 +- 이나린 +- 이병진 + +### 주요 기능 +- 파일 및 폴더 생성, 이동, 삭제 +- 파일 업로드 및 다운로드 +- 확장자에 맞는 창 +- 화면 드래그 영역 및 컴포넌트 선택 +- 마우스 우클릭 +- 창 크기 조절 +- Docker를 이용한 파일 관리 +- 도커 볼륨을 이용해 디렉토리 및 파일들을 관리 +- 마인트 바운드를 통해 외부 저장소와 연동하여 저장 +
![](/img/megathon_2023_megaOS_docker.png) + +### 결과물 + + + + +- [백엔드 Github](https://github.com/inje-megabrain/Mos-be) +- [프론트엔드 Github](https://github.com/inje-megabrain/Mos-fe) + +--- + +## (백엔드>프론트) 팀 + +### 프로젝트 소개 +인제대학교 학우들을 위한 편의성 애플리케이션을 개발하였습니다. + +### 참여자 +- 문상원 +- 신종웅 +- 임채성 + +### 주요 기능 +- 학식 조회 +- 학과 공지 조회 +- 학사 일정 조회 +- 교내 버스 및 학교 근처 버스 조회 + + +### 결과물 + + +- [프론트엔드 Github](https://github.com/inje-megabrain/IJS-FE) +- [백엔드 Github](https://github.com/inje-megabrain/inje-megabrain-IJS-BE) +- [크롤러 Github](https://github.com/inje-megabrain/IJS-BE-CRAWLING) + diff --git a/docs/activities/megathon/2024.mdx b/docs/activities/megathon/2024.mdx new file mode 100644 index 0000000..6012172 --- /dev/null +++ b/docs/activities/megathon/2024.mdx @@ -0,0 +1,9 @@ +--- +title: "2024년" +--- + +# 메가톤 2024 + +행사 준비중입니다. + +행사 일정: 2024.01.25 ~ 2024.01.26 diff --git a/docs/activities/megathon/_category_.json b/docs/activities/megathon/_category_.json new file mode 100644 index 0000000..65a7731 --- /dev/null +++ b/docs/activities/megathon/_category_.json @@ -0,0 +1,7 @@ +{ + "label": "메가톤", + "link": { + "type": "generated-index", + "description": "메가브레인에서 주최하는 해커톤입니다." + } +} diff --git a/docs/contact.mdx b/docs/contact.mdx new file mode 100644 index 0000000..a38b105 --- /dev/null +++ b/docs/contact.mdx @@ -0,0 +1,14 @@ +# 문의 + +서비스 피드백 · 협업 문의 등은 [puleugo@gmail.com](mailto:puleugo@gmail.com)으로 보내주시면 됩니다. + +메가브레인 구성원이 활동하는 동아리방은 인제대학교 김해캠퍼스 장영실관(E동) 1층 105호에 위치해있습니다. + +