UNPKG

@agatee/cli

Version:

CLI for Agatee App

132 lines (94 loc) 3.56 kB
## Agatee CLI ## Prerequisites Node 8.9 or higher, together with NPM 5.5.1 or higher. Typescript and ts-node. ## New realese in version 1.3.0 - Now you can create an app with graphql api style To create new app with graphql api gat create my-app -api graphql or add graphql feature in an existing app gat add graphql - New argument parser for the CLI Check the [documentation](https://www.npmjs.com/package/@agatee/cli#documentation) for more informations ## Table of Contents - [Installation](https://www.npmjs.com/package/@agatee/cli#installation) - [Generating a New Project](https://www.npmjs.com/package/@agatee/cli#new-project) - [Adding Mongoose](https://www.npmjs.com/package/@agatee/cli#add-mongoose) - [Generating MVC Components with CRUD endpoint](https://www.npmjs.com/package/@agatee/cli#generating-mvc) - [Adding Socket.io](https://www.npmjs.com/package/@agatee/cli#add-socket) - [Generating socket instance](https://www.npmjs.com/package/@agatee/cli#socket-instance) - [Documentation](https://www.npmjs.com/package/@agatee/cli#documentation) ## Installation<a name="installation"></a> npm install -g @agatee/cli ## Generating new project<a name="new-project"></a> Generating and serving a new project gat create PROJECT-NAME cd PROJECT-NAME gat serve You can specify the port to use by the app by adding --port ${PORT} params on serving ## Adding Mongoose<a name="add-mongoose"></a> Stop serving the app by hitting ^C then : gat add mongoose 4 lines will be added to the .env file to configure the connection to database : ... DB_HOST=localhost DB_PORT=27017 DB_PASSWORD= DB_USERNAME= DATABASE=agatee You can also set your db config using those options gat add mongoose --db-uri ${SRV_STRING_CONNECTION} ## Generating MVC Components<a name="generating-mvc"></a> Generate MVC component named user with CRUD endpoint gat g c user -mm -e CRUD - -mm (or --mongoose-model) for adding mongoose model file - -e (or --endpoint) for addinng CRUD endpoint After generating the new component just add the router's component to app.ts to make the new component reachable ... import { UserRouter } from './components/user/user.router'; ... @GatModule({ routes: [ UserRouter ], middlewares }) Then the new component is now reachable from [`http://localhost:3000/api/user`](localhost:3000/api/user) using method POST for creating, GET for reading, PUT for updating and DELETE for deleting ## Adding socket.io<a name="add-socket"></a> gat add socket.io Then add MainSocket to the GatModule's imports decorator in app.ts ... import { MainSocket } from "./modules/socket/main.socket"; ... @GatModule({ routes: [ UserRouter ], middlewares, imports: [MainSocket] }) Now the socket server is reachable from [`http://localhost:3001`](localhost:3001) You can change the socket port in the .env file ## Generating socket instance<a name="socket-instance"></a> To generate socket instance named chat, hit : gat g socket-i chat Then add the new socket instance to the @GatModule imports in app.ts ... import { MainSocket } from "./modules/socket/main.socket"; import { ChatSocket } from "./modules/socket/chat.socket"; ... @GatModule({ routes: [ UserRouter ], middlewares, imports: [ MainSocket, ChatSocket ] }) Now the socket instance is reachable from [http://localhost:3001/chat](localhost:3001/chat) ## Documentation<a name="documentation"></a> [Agatee - Official Documentation](https://niainagitlab.gitlab.io/agatee-doc/)