Projects Goose

Tool & Service Personal

Projects Goose

goose-project-001.jpg

https://redgoose.me 서비스 컨텐츠를 관리하기 위하여 만들게된 프로젝트들이다.
처음에는 Goose CMS 프로젝트로 하나로 출발했지만 관리와 확장에 한계를 느껴 역할에 따라 프로젝트를 분리하게 되었다.
현재 만들어진 프로젝트들은 다음과 같다.


Demos

다음은 프로젝트를 경험해볼 수 있는 데모들에 대한 정보들을 확인해볼 수 있다.

Manager

관리자 데모를 통하여 컨텐츠를 어떻게 관리하는지 체험해볼 수 있다.

Display app


Concept

처음에는 XEWordpress와 같이 프로그램 하나에서 데이터와 관리자가 같이 들어있는 모습이었지만 API 부분에 대한 확장 부분에서 한계도 보이고 많은 어려움을 느껴 Server API와 그것을 활용하는 프론트엔드 프로그램을 분리하기로 결정하여 프로그램들을 전부 재작성했다.

goose-project-002.png

이렇게 API를 분리를 해보니 각자 역할에 대하여 집중할 수 있고 구조가 단순해지는 효과를 보게 되었다.
하지만 프로젝트의 양은 늘어나서 관리가 많아지다보니 설치가 어려워졌다는 결점이 생겼지만 서브도메인(foo.bar.com)을 사용할 수 있다는점과 좀더 자유롭게 프로젝트를 구성할 수 있다는것이 이점으로 볼 수 있었다. 하지만 이용하는 개발자의 역량에 따른다는게 함정이다. ㅠ_ㅠ

이렇게 역할에 따라 프로젝트를 분리하다보니 데이터를 한곳에서 관리하고, 디스플레이되는 다수의 프로젝트를 늘려서 사용할 수 있을 것이다.


Feature

App

nest를 그룹짓는 용도로 사용합니다. 주로 프로젝트 단위로 여러개의 nest를 묶는데 사용한다.
하나의 프로젝트를 nestarticle의 그룹이 되는 최상위 부모 역할을 할 수 있다.

Nest

nestarticle들을 묶기위한 역할을 한다.
조금 더 풀어서 말하자면 파일들을 보관하는 폴더 역할을 할 수 있다고 볼 수 있다.

goose-project-003.jpg

article을 관리하기 위한 대단히 중요한 역할을 맡고있으며 app보다 좀더 많은 기능을 가지고 있으며 article, category, app 부분들과 연결짓는 허브라고 볼 수 있다.

프로젝트의 미드필더라고 볼 수 있다.

Article

가장 많이 쓰이게 되는 글 하나하나에 대한 부분이다. 둥지(nest)에 담아있는 알(egg)이라고 볼 수 있다.
이 알들이 하나하나의 데이터가 되기때문에 많이 늘어나는 부분이고, 많이 작성하고 보는 부분이라고 볼 수 있다.

goose-project-004.jpg

Category

article의 성격을 나타내는 분류로 사용된다.
글을 성격에 맞게 필터링하기 위하여 만들어 졌고, 태그로 사용해도 되지만 개인적으로 태그는 그다지 익숙하지 않다보니 분류의 모습으로 만들게 되었다.

goose-project-005.jpg

Comment

article 글에서 작은 글들을 더하기 위하여 만들어졌다.
외부 방문객들이 쓰는 댓글이라기 보다는 글 하나에서 꼬리를 물어 수정할 필요없이 글을 더하기 위하여 만들었다.

JSON

다목적으로 json 데이터를 등록하고 사용하기 위한 용도로 사용된다.
데이터트리 형태라서 이 데이터들은 사용하기 나름이다.

User

데이터들을 제한없이 쓰고 수정할 수 없기 때문에 회원기능을 만들고 권한을 주고있다.
처음에는 비밀번호만 걸어놓고 사용하다가 보안적인 문제가 취약하여 이렇게 회원기능을 만들게 되었다.

File

첨부된 파일들을 관리하는 기능이다.
주로 article 포스트에서 파일을 첨부하는데 등록되고 관리된다.

goose-project-006.jpg


Projects

다음은 주요 프로젝트을 소개한다.

goose-api

Project URL: https://github.com/redgoose-dev/goose-api

데이터베이스와 첨부파일들을 다루는 역할을 한다.
RestAPI를 사용하기 위하여 만들어졌는데 첨부된 파일들도 보관하고 있다. 읽기, 쓰기, 수정, 삭제등 기본적인 컨트롤들을 사용할 수 있다.

goose-project-007.png

goose-manager

Project URL: https://github.com/redgoose-dev/goose-manager

프로젝트에서 많은 역할을 하는 프로그램이며 UI 형태를 한 API 컨트롤러라고 볼 수 있다.

goose-project-008.png

goose-app

Project URL: https://github.com/redgoose-dev/goose-app

외부로 디스플레이 형태로 공유하기 위하여 만든 프로젝트

goose-project-009.jpg