[Node.js] 관리자 권한을 위한 npm AdminJs
안녕하세요 성조입니다.
현재 진행중인 프로젝트를 위해서 Node.js를 공부하다가 현재 usertbl 테이블을 admin, user, guest로 계정 권한을 나누지 못한 것이 조금 아쉬움이 남아서 이것저것 찾아봤습니다.
이전에는 공부할 때 아날로그한 것을 좋아해서 책을 되게 좋아했는데 요즘에는 개념서가 아닌 책들은 youtube와 github를 찾아보는 것이 훨씬 좋은 것 같고 원하는 자료가 많아서 찾아보게 되면서 찾게된 npm 라이브러리입니다.
Inspired by: django admin, rails admin and active admin.
AdminJs = AdminBro는 MongoDB를 활용한 예제가 많이 나왔습니다.
파이썬의 Django 또는 루비의 Rails등과 같이 관리자 패널을 효율적으로 만들기 위해서 사용되는 오픈소스라 생각됩니다.
다음은 adminjs의 git 주소입니다. 구글 검색창에 adminjs를 검색하셔도 좋습니다
https://github.com/SoftwareBrothers/adminjs
GitHub - SoftwareBrothers/adminjs: AdminJS is an admin panel for apps written in node.js
AdminJS is an admin panel for apps written in node.js - GitHub - SoftwareBrothers/adminjs: AdminJS is an admin panel for apps written in node.js
github.com
MongoDB라면 https://adminjs.co/ 사이트에서 상단에 Documentation를 누르시고 예제를 보면서 목적에 맞게 수정해서 사용하시면 될 것 같습니다!
Home
CRUD With AdminJS you can Create, Read, Update and Delete all of your resources, no matter where they come from. Thanks to the tight integration with your ORM/ODM, AdminJS picks up all the validation rules, data types and relationships. Data Sources With A
adminjs.co
AdminJs는 뛰어난 자유도가 존재하지만 그에 비해 각각의 기능 구현을 하나하나 해주는 것이 어렵다고 얘기를 들었습니다. MySQL도 문제없이 돌아가지만 MySQL 예제가 부족함이 있어서 진행을 포기했습니다.
TypeORM - Amazing ORM for TypeScript and JavaScript (ES7, ES6, ES5). Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server,
typeorm.io
만약 AdminJs를 활용하여 프로젝트 권한을 구분하고 MySQL 환경에서 구현하신다면 위의 TypeORM을 작성했을 때 사용되는 부분이 추천 사항이라고 알고 있습니다.
향후에 프로젝트 리팩토링이나 DB 스키마 등을 전체적으로 변경할 일이 생기는 경우에 다시 다뤄봤으면 하는 npm 라이브러리였습니다!
그 외에도 관리자 권한을 만드는데 좋은 서비스를 제공하는 오픈소스가 더 많이 존재하기 때문에 시간이 되면 전체적으로 다 다뤄보고 싶은 마음입니다!
감사드립니다!
정보에 대해서 올바르지 못한 부분이 있는 경우 댓글로 얘기 주시면 감사드리겠습니다!