GithubHelp home page GithubHelp logo

georgebezerra / codebasemonorepo Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 1.05 MB

License: GNU General Public License v3.0

JavaScript 9.02% HTML 1.04% TypeScript 36.52% Starlark 2.65% Java 27.26% Ruby 3.29% Objective-C 19.43% Shell 0.79%

codebasemonorepo's Introduction

TypeScript GPLv3 License js-standard-style Open Source Love code style: prettier

codebasemonorepo

This project aims to maintain a monorepo codebase to make the development of any project using Node, React, React-Native, GraphQL, TypeScript and MongoDB more agile.

TypeScript Features

  • OOP
  • Interface

GraphQL Principles

Principles of Integrity: Ensure that the Schema GraphQL is well defined, stable and consistent.

Unique GraphQL Schema - The company must have a unified GraphQL Schema, instead of one per team.
Shared implementation - The implementation of GraphQL Schema must be shared between teams / teams.
Track the Schema in Records - There must be a single true source to track the GraphQL Schema.

Principles of Agility: Distribute and adapt quickly to necessary changes.

Abstract and Demand-Oriented Schema - The schema should act as an abstraction layer that provides flexibility to consumers, hiding the details of the implementation.
Agile approach to the development of Schemas - The scheme must be built incrementally based on real requirements and evolve over time.
Iteratively improve performance - Performance management should be an ongoing process, adapting to changes in query loads and service implementations.
Use Metadata to Empower Developers - Developers must have knowledge of the GraphQL API throughout the development process.

Operating Principles: Safely implement the GraphQL API for production.

Demand Access and Control - Grant access by customer and manage what and how they can access it.
Structured Log - Capture structured logs of all operations and take advantage of them as a tool to understand the use of the GraphQL API.
Separate the GraphQL Layer from the Service Layer - Adopt a layered architecture with the functionality of the GraphQL API on a separate layer, instead of being incorporated into all services.

Global Dependencies:

Packages Version
Prettier npm version
Eslint npm version

Web Dependencies:

Packages Version
React img.png
React DOM img.png

Mobile Dependencies:

Packages Version
React img.png
React Native img_1.png

Backend Dependencies:

Packages Version
TS-node-dev img_2.png
Colors img_8.png
Bcryptjs img_3.png
Express npm version
ClassValidator img_7.png
TypeGraphQL img_9.png
TypeScript npm version
ApolloServer img_6.png
GraphQL img_5.png
Jest npm version
Mongoose img_4.png

Prerequisites

NodeJs

node --version

Yarn

npm install -g yarn

yarn -version

TypeScript

npm install -g typescript

tsc --version

Getting Started

Clone the repo and use yarn to install dependecies

git clone https://github.com/georgebezerra/codebasemonorepo.git
cd codebasemonorepo
yarn

Start server

cd packages/server
yarn dev:server

Start Web

cd packages/web
yarn start

Start Mobile

cd packages/mobo
yarn start

Licence

This project is open-source software licensed under the GNU General Public License v3.0


Development by

Developer / Author: George Bezerra

https://github.com/georgebezerra

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.