GithubHelp home page GithubHelp logo

asimashfaq / fullstack-starter Goto Github PK

View Code? Open in Web Editor NEW
9.0 2.0 2.0 2.55 MB

Monorepo for creating a full-stack application,

JavaScript 49.63% TypeScript 49.77% CSS 0.02% Shell 0.21% Dockerfile 0.36%
lerna typescript tailwind storybook styled-components nextjs i18n swr ssr react-redux

fullstack-starter's Introduction

A Full Stack starter kit

Full-Stack starter kit is your starter monorepo for building apps both in NodeJs and React. Monorepo is setup using the dev tool nx.dev. We can create multiple apps and libraries via nx.dev and use them in different applications and publish npm packages.

Tables of Content

Getting Started

Instruction to run the app

Note: Sample instructions

Built With

  • nx.dev
  • nestjs
  • next.js
  • tsdx
  • inversify
  • commitizen
  • commit-lint
  • husky
  • prettier
  • eslint
  • cz-ccgls
  • docker-compose
  • envoy (grpc proxy)
  • verdaccio (private package repository)

Packages

Library consist of 5 packages

๐Ÿš€Admin

Admin panel dashboard

graph LR
A[Admin] --> C(UI)

Features

  • Internalization
  • Grpc
  • Server sider rendering
  • Theme Switcher

Build With

  • NextJs
  • Typescript
  • StyledComponents
  • Tailwindcss
  • Redux-Toolkit
  • Redux-Observable
  • Redux-Epics
  • Redux Dev Tools
  • Epics
  • Rxjs
  • Typesafe-Actions
  • Redux-Logger
  • Postcss

๐Ÿš€Backend

Backend Server provide api interface in Graphql and Grpc. Use Inversify.js (a dependency injection tool) to inject the (business logic layer + database layer) into the app imported via libraries or packages.

In this monorepo we import the Subscription library which implemented the Services and Database Interface provided by the Common-Backend. User can interact with Subscription Library via Grphc and Graphql interface provided in the Backend application via NestJS farmework.

graph LR
A[Backend] --> C(Subscription)
C --> D(Common-Backend)
A --> D

Apis

  • Subscription

Build With

  • Typescript
  • NestJS
  • Inversify
  • Grpc-Tools
  • Pbts

๐Ÿ“ฆCommon-Backend

Provide Generic interface and types for

  • Database
  • Config
  • Service
  • Pagination
  • Errors
  • Logger

Also implemented the common functions that can be used in verious libraries/app build using common-backend. In our case its used in Subscription Library and in Backend app.

Build With

  • Typescript
  • Inversify
  • Tsdx
  • Bunyan

๐Ÿ“ฆSubscription

Implement the Subscription Service base on the Service interface provided by Common-Backend. Implement all the business logic , validation and database layer in it. Also Implement the Database Service base on interface provided by common-backend It save infromation in the RavenDB.

Note: Also implement the unit testing . You can run the project as the standalone library without having any kind of transport layer.

Features

  • Add
  • Update
  • Delete
  • List

Build With

  • Typescript
  • Raven DB
  • Inversify
  • Tsdx
  • Yup

๐Ÿ“ฆUI

UI is the library of different UI elements build from sacratch or write wrappers on top of 3rd parties libraries. We can use UI elements in different apps and built our UI on top of it.

UI Element and 3rd Party Wrappers

  • Background
  • Button
  • Dashboard
  • Dropdown (popper.js)
  • Header
  • Hooks
  • Icon
  • Input (formik)
  • Notifiaction
  • Table (react-table)
  • Sidebar
  • Theme-Switcher

Build With

  • Typescript
  • Storybook
  • React
  • Tsdx
  • Yup
  • Framer-Motion
  • ahooks
  • Styled-Components
  • popper.js
  • formik
  • react-icons
  • react-table

fullstack-starter's People

Contributors

alina-14 avatar asimashfaq avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

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.