Skip to content

Commit 69bc399

Browse files
author
asimashfaq
committed
docs(root): 📝 Add documentation
1 parent d616742 commit 69bc399

File tree

1 file changed

+167
-0
lines changed

1 file changed

+167
-0
lines changed

README.md

Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,167 @@
1+
# A Full Stack starter kit
2+
3+
Full-Stack starter kit is your starter monorepo for building apps both in **NodeJs** and **React**.
4+
Monorepo is setup using the dev tool [nx.dev](https://nx.dev/). We can create multiple apps and libraries via nx.dev and use them in different applications and publish npm packages.
5+
6+
# Tables of Content
7+
8+
- Getting started
9+
- Built with
10+
- Packages
11+
- :rocket: [Admin](#Admin)
12+
- :rocket: [Backend](#Backend)
13+
- :package: [Common-Backend](#Common-Backend)
14+
- :package: [Subscription](#Subscription)
15+
- :package: [UI](#UI)
16+
17+
## Getting Started
18+
19+
Instruction to run the app
20+
> **Note:** Sample instructions
21+
22+
## Built With
23+
24+
- nx.dev
25+
- nestjs
26+
- next.js
27+
- tsdx
28+
- inversify
29+
- commitizen
30+
- commit-lint
31+
- husky
32+
- prettier
33+
- eslint
34+
- cz-ccgls
35+
- docker-compose
36+
- envoy (grpc proxy)
37+
- verdaccio (private package repository)
38+
39+
## Packages
40+
41+
Library consist of 5 packages
42+
43+
### :rocket:[Admin](https://github.com/asimashfaq/fullstack-starter/tree/master/packages/admin)
44+
Admin panel dashboard
45+
46+
```mermaid
47+
graph LR
48+
A[Admin] --> C(UI)
49+
```
50+
#### Features
51+
52+
- Internalization
53+
- Grpc
54+
- Server sider rendering
55+
- Theme Switcher
56+
57+
#### Build With
58+
59+
- NextJs
60+
- Typescript
61+
- StyledComponents
62+
- Tailwindcss
63+
- Redux-Toolkit
64+
- Redux-Observable
65+
- Redux-Epics
66+
- Redux Dev Tools
67+
- Epics
68+
- Rxjs
69+
- Typesafe-Actions
70+
- Redux-Logger
71+
- Postcss
72+
73+
### :rocket:[Backend](https://github.com/asimashfaq/fullstack-starter/tree/master/packages/backend)
74+
75+
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.
76+
77+
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.
78+
79+
```mermaid
80+
graph LR
81+
A[Backend] --> C(Subscription)
82+
C --> D(Common-Backend)
83+
A --> D
84+
```
85+
86+
#### Apis
87+
- Subscription
88+
#### Build With
89+
- Typescript
90+
- NestJS
91+
- Inversify
92+
- Grpc-Tools
93+
- Pbts
94+
95+
### :package:[Common-Backend](https://github.com/asimashfaq/fullstack-starter/tree/master/packages/backend)
96+
Provide Generic interface and types for
97+
- Database
98+
- Config
99+
- Service
100+
- Pagination
101+
- Errors
102+
- Logger
103+
104+
Also implemented the common functions that can be used in verious libraries/app build using common-backend.
105+
In our case its used in **Subscription** Library and in **Backend** app.
106+
107+
#### Build With
108+
109+
- Typescript
110+
- Inversify
111+
- Tsdx
112+
- Bunyan
113+
114+
### :package:[Subscription](https://github.com/asimashfaq/fullstack-starter/blob/master/packages/subscription)
115+
Implement the Subscription Service base on the Service interface provided by `Common-Backend`.
116+
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**.
117+
118+
> Note: Also implement the unit testing . You can run the project as the standalone library without having any kind of transport layer.
119+
120+
#### Features
121+
122+
- Add
123+
- Update
124+
- Delete
125+
- List
126+
127+
#### Build With
128+
129+
- Typescript
130+
- Raven DB
131+
- Inversify
132+
- Tsdx
133+
- Yup
134+
135+
136+
### :package:[UI](https://github.com/asimashfaq/fullstack-starter/blob/master/packages/ui)
137+
UI is the library of different UI elements build from sacratch or write wrappers on top of 3rd parties libraries.
138+
We can use UI elements in different apps and built our UI on top of it.
139+
140+
#### UI Element and 3rd Party Wrappers
141+
- Background
142+
- Button
143+
- Dashboard
144+
- Dropdown (popper.js)
145+
- Header
146+
- Hooks
147+
- Icon
148+
- Input (formik)
149+
- Notifiaction
150+
- Table (react-table)
151+
- Sidebar
152+
- Theme-Switcher
153+
154+
#### Build With
155+
156+
- Typescript
157+
- Storybook
158+
- React
159+
- Tsdx
160+
- Yup
161+
- Framer-Motion
162+
- ahooks
163+
- Styled-Components
164+
- popper.js
165+
- formik
166+
- react-icons
167+
- react-table

0 commit comments

Comments
 (0)