From e6cd4310a7a66cda63dc049f70fd547a221605ad Mon Sep 17 00:00:00 2001 From: Anas Tiour Date: Tue, 25 Dec 2018 08:03:32 +0100 Subject: [PATCH] refactor(frontend): Removing frontend Removing frontend folder and moving content of backend to the root of the project --- backend/Dockerfile => Dockerfile | 0 README.md | 40 ++++++++++++----- backend/.babelrc | 8 ---- backend/.dockerignore | 9 ---- backend/.env.dev.example | 7 --- backend/.env.example | 5 --- backend/.eslintignore | 4 -- backend/.eslintrc.js | 44 ------------------- backend/README.md | 35 --------------- ...mmitlint.config.js => commitlint.config.js | 0 frontend/pages/user/index.vue | 25 ----------- frontend/pages/user/login.vue | 17 ------- frontend/pages/user/logout.vue | 13 ------ .../package-lock.json => package-lock.json | 0 backend/package.json => package.json | 0 .../src => src}/api/modules/auth/index.js | 0 .../api/modules/auth/resolvers/auth.js | 0 .../api/modules/auth/types/auth.graphql | 0 .../src => src}/api/modules/auth/utils.js | 0 {backend/src => src}/api/modules/index.js | 0 .../src => src}/api/modules/post/index.js | 0 .../api/modules/post/resolvers/posts.js | 0 .../api/modules/post/types/post.graphql | 0 .../src => src}/api/modules/user/index.js | 0 .../api/modules/user/resolvers/users.js | 0 .../api/modules/user/types/user.graphql | 0 {backend/src => src}/index.js | 0 .../src => src}/prisma/models/post.graphql | 0 .../src => src}/prisma/models/user.graphql | 0 {backend/src => src}/prisma/prisma.yml | 0 {backend/src => src}/prisma/seed.js | 0 .../webpack.config.js => webpack.config.js | 0 32 files changed, 28 insertions(+), 179 deletions(-) rename backend/Dockerfile => Dockerfile (100%) delete mode 100644 backend/.babelrc delete mode 100644 backend/.dockerignore delete mode 100644 backend/.env.dev.example delete mode 100644 backend/.env.example delete mode 100644 backend/.eslintignore delete mode 100644 backend/.eslintrc.js delete mode 100644 backend/README.md rename backend/commitlint.config.js => commitlint.config.js (100%) delete mode 100644 frontend/pages/user/index.vue delete mode 100644 frontend/pages/user/login.vue delete mode 100644 frontend/pages/user/logout.vue rename backend/package-lock.json => package-lock.json (100%) rename backend/package.json => package.json (100%) rename {backend/src => src}/api/modules/auth/index.js (100%) rename {backend/src => src}/api/modules/auth/resolvers/auth.js (100%) rename {backend/src => src}/api/modules/auth/types/auth.graphql (100%) rename {backend/src => src}/api/modules/auth/utils.js (100%) rename {backend/src => src}/api/modules/index.js (100%) rename {backend/src => src}/api/modules/post/index.js (100%) rename {backend/src => src}/api/modules/post/resolvers/posts.js (100%) rename {backend/src => src}/api/modules/post/types/post.graphql (100%) rename {backend/src => src}/api/modules/user/index.js (100%) rename {backend/src => src}/api/modules/user/resolvers/users.js (100%) rename {backend/src => src}/api/modules/user/types/user.graphql (100%) rename {backend/src => src}/index.js (100%) rename {backend/src => src}/prisma/models/post.graphql (100%) rename {backend/src => src}/prisma/models/user.graphql (100%) rename {backend/src => src}/prisma/prisma.yml (100%) rename {backend/src => src}/prisma/seed.js (100%) rename backend/webpack.config.js => webpack.config.js (100%) diff --git a/backend/Dockerfile b/Dockerfile similarity index 100% rename from backend/Dockerfile rename to Dockerfile diff --git a/README.md b/README.md index c376487..02977f3 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,35 @@ -# Apollo Server 2 Boilerplate +[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/) -Work In Progress +## Quick start -## Prerequisites +1. Install dependencies: `npm install` +2. Launch the Postgres database and Prisma server: `docker-compose up -d` +3. Deploy your models to Prisma and generate the client: `prisma deploy && prisma generate` +4. Run the API for development: `npm run dev` +5. Access your Graphql API at http://localhost:4000 -Docker -Docker Compose -Prisma CLI -Node v8+ , npm v+ +## Features to document -## Quick start +Prisma: + - as ORM + - point to its documentation, video + - state principle of it and use + - seeding the database + +Apollo: + - Data sources: +example use case from a public API of REST +example of graphql API + - Modules + - Merging typedefs and resolvers? Happens at the module level in its `index.js` file + +## About modules + +The backend is organized into [GraphQL modules](https://graphql-modules.com/) +More information on this [Medium post](https://medium.com/the-guild/graphql-modules-feature-based-graphql-modules-at-scale-2d7b2b0da6da) + +Each modules merges its types and resolvers in order to export a `GraphQLModule` instance. These modules are then imported and merged into a single `GraphQLModule` module in the file `src/api/modules/index.js`. This object holds, among others, the `schema` and `context` which are fed to the `ApolloServer` instance in `src/api/index.js` -1. Clone the boilerplate: `git clone ` -2. Install dependencies: `npm install` -3. Run the API for development: `npm run dev` -4. Access your Graphql API at http://localhost:4000 +GraphQL modules offers extensibility of your code base and forces/helps you organize your SDL types by domain/feature rather than by type. diff --git a/backend/.babelrc b/backend/.babelrc deleted file mode 100644 index 91759ae..0000000 --- a/backend/.babelrc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "presets": [ - "@babel/preset-env" - ], - "plugins": [ - "@babel/plugin-transform-runtime" - ] -} \ No newline at end of file diff --git a/backend/.dockerignore b/backend/.dockerignore deleted file mode 100644 index 366677e..0000000 --- a/backend/.dockerignore +++ /dev/null @@ -1,9 +0,0 @@ -# Whitelist of allowed files -* -!src/ -!package.json -!package-lock.json -!webpack.config.js -!.eslintrc.js -!.eslintignore -!.babelrc \ No newline at end of file diff --git a/backend/.env.dev.example b/backend/.env.dev.example deleted file mode 100644 index ae94396..0000000 --- a/backend/.env.dev.example +++ /dev/null @@ -1,7 +0,0 @@ -PORT=4000 - -# Database settings for Docker Compose -DB_HOST=localhost -DB_NAME=database -DB_USER=postgres -DB_PASSWORD=postgres \ No newline at end of file diff --git a/backend/.env.example b/backend/.env.example deleted file mode 100644 index 3d8be0e..0000000 --- a/backend/.env.example +++ /dev/null @@ -1,5 +0,0 @@ -PORT= -DB_HOST= -DB_NAME= -DB_USER= -DB_PASSWORD= \ No newline at end of file diff --git a/backend/.eslintignore b/backend/.eslintignore deleted file mode 100644 index 4fe5894..0000000 --- a/backend/.eslintignore +++ /dev/null @@ -1,4 +0,0 @@ -node_modules -dist/*.js -todo.md -generated/ \ No newline at end of file diff --git a/backend/.eslintrc.js b/backend/.eslintrc.js deleted file mode 100644 index affe0e0..0000000 --- a/backend/.eslintrc.js +++ /dev/null @@ -1,44 +0,0 @@ -// http://eslint.org/docs/user-guide/configuring - -module.exports = { - root: true, - parser: 'babel-eslint', - parserOptions: { - sourceType: 'module' - }, - env: { - node: true, - }, - // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style - extends: ['plugin:prettier/recommended'], - plugins: [ - 'prettier' - ], - // add your custom rules here - 'rules': { - 'prettier/prettier': [ - 'error', - { - // Overriding Prettier defaults - singleQuote: false, - trailingComma: 'all', - semi: false - }, - ], - 'arrow-parens': 0, - 'generator-star-spacing': 0, - 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, - // own rules - 'no-multi-spaces': 0, - 'curly': 0, - 'no-multiple-empty-lines': 0, - 'padded-blocks': 0, - 'key-spacing': 0, - 'object-property-newline': 0, - 'spaced-comment': 0, - 'no-useless-escape': 0, - 'brace-style': 0, - 'semi': [2, "never"], - 'block-spacing': [2, 'always'] - } -} diff --git a/backend/README.md b/backend/README.md deleted file mode 100644 index 02977f3..0000000 --- a/backend/README.md +++ /dev/null @@ -1,35 +0,0 @@ -[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/) - - -## Quick start - -1. Install dependencies: `npm install` -2. Launch the Postgres database and Prisma server: `docker-compose up -d` -3. Deploy your models to Prisma and generate the client: `prisma deploy && prisma generate` -4. Run the API for development: `npm run dev` -5. Access your Graphql API at http://localhost:4000 - -## Features to document - -Prisma: - - as ORM - - point to its documentation, video - - state principle of it and use - - seeding the database - -Apollo: - - Data sources: -example use case from a public API of REST -example of graphql API - - Modules - - Merging typedefs and resolvers? Happens at the module level in its `index.js` file - -## About modules - -The backend is organized into [GraphQL modules](https://graphql-modules.com/) -More information on this [Medium post](https://medium.com/the-guild/graphql-modules-feature-based-graphql-modules-at-scale-2d7b2b0da6da) - -Each modules merges its types and resolvers in order to export a `GraphQLModule` instance. These modules are then imported and merged into a single `GraphQLModule` module in the file `src/api/modules/index.js`. This object holds, among others, the `schema` and `context` which are fed to the `ApolloServer` instance in `src/api/index.js` - -GraphQL modules offers extensibility of your code base and forces/helps you organize your SDL types by domain/feature rather than by type. - diff --git a/backend/commitlint.config.js b/commitlint.config.js similarity index 100% rename from backend/commitlint.config.js rename to commitlint.config.js diff --git a/frontend/pages/user/index.vue b/frontend/pages/user/index.vue deleted file mode 100644 index 3d2c15c..0000000 --- a/frontend/pages/user/index.vue +++ /dev/null @@ -1,25 +0,0 @@ - - - diff --git a/frontend/pages/user/login.vue b/frontend/pages/user/login.vue deleted file mode 100644 index bf704b9..0000000 --- a/frontend/pages/user/login.vue +++ /dev/null @@ -1,17 +0,0 @@ - - - - - diff --git a/frontend/pages/user/logout.vue b/frontend/pages/user/logout.vue deleted file mode 100644 index 32d9c80..0000000 --- a/frontend/pages/user/logout.vue +++ /dev/null @@ -1,13 +0,0 @@ - - - diff --git a/backend/package-lock.json b/package-lock.json similarity index 100% rename from backend/package-lock.json rename to package-lock.json diff --git a/backend/package.json b/package.json similarity index 100% rename from backend/package.json rename to package.json diff --git a/backend/src/api/modules/auth/index.js b/src/api/modules/auth/index.js similarity index 100% rename from backend/src/api/modules/auth/index.js rename to src/api/modules/auth/index.js diff --git a/backend/src/api/modules/auth/resolvers/auth.js b/src/api/modules/auth/resolvers/auth.js similarity index 100% rename from backend/src/api/modules/auth/resolvers/auth.js rename to src/api/modules/auth/resolvers/auth.js diff --git a/backend/src/api/modules/auth/types/auth.graphql b/src/api/modules/auth/types/auth.graphql similarity index 100% rename from backend/src/api/modules/auth/types/auth.graphql rename to src/api/modules/auth/types/auth.graphql diff --git a/backend/src/api/modules/auth/utils.js b/src/api/modules/auth/utils.js similarity index 100% rename from backend/src/api/modules/auth/utils.js rename to src/api/modules/auth/utils.js diff --git a/backend/src/api/modules/index.js b/src/api/modules/index.js similarity index 100% rename from backend/src/api/modules/index.js rename to src/api/modules/index.js diff --git a/backend/src/api/modules/post/index.js b/src/api/modules/post/index.js similarity index 100% rename from backend/src/api/modules/post/index.js rename to src/api/modules/post/index.js diff --git a/backend/src/api/modules/post/resolvers/posts.js b/src/api/modules/post/resolvers/posts.js similarity index 100% rename from backend/src/api/modules/post/resolvers/posts.js rename to src/api/modules/post/resolvers/posts.js diff --git a/backend/src/api/modules/post/types/post.graphql b/src/api/modules/post/types/post.graphql similarity index 100% rename from backend/src/api/modules/post/types/post.graphql rename to src/api/modules/post/types/post.graphql diff --git a/backend/src/api/modules/user/index.js b/src/api/modules/user/index.js similarity index 100% rename from backend/src/api/modules/user/index.js rename to src/api/modules/user/index.js diff --git a/backend/src/api/modules/user/resolvers/users.js b/src/api/modules/user/resolvers/users.js similarity index 100% rename from backend/src/api/modules/user/resolvers/users.js rename to src/api/modules/user/resolvers/users.js diff --git a/backend/src/api/modules/user/types/user.graphql b/src/api/modules/user/types/user.graphql similarity index 100% rename from backend/src/api/modules/user/types/user.graphql rename to src/api/modules/user/types/user.graphql diff --git a/backend/src/index.js b/src/index.js similarity index 100% rename from backend/src/index.js rename to src/index.js diff --git a/backend/src/prisma/models/post.graphql b/src/prisma/models/post.graphql similarity index 100% rename from backend/src/prisma/models/post.graphql rename to src/prisma/models/post.graphql diff --git a/backend/src/prisma/models/user.graphql b/src/prisma/models/user.graphql similarity index 100% rename from backend/src/prisma/models/user.graphql rename to src/prisma/models/user.graphql diff --git a/backend/src/prisma/prisma.yml b/src/prisma/prisma.yml similarity index 100% rename from backend/src/prisma/prisma.yml rename to src/prisma/prisma.yml diff --git a/backend/src/prisma/seed.js b/src/prisma/seed.js similarity index 100% rename from backend/src/prisma/seed.js rename to src/prisma/seed.js diff --git a/backend/webpack.config.js b/webpack.config.js similarity index 100% rename from backend/webpack.config.js rename to webpack.config.js