This project is a space for developers looking to level up their skills and create meaningful projects that benefit both themselves and maybe even some users. You can bring your favorite project to life within this Monorepo, using any JS framework you love (all supported by NX). Simplest examples you can build your favorite apps' clone and try to deploy it to Vercel, feel free to build if you have any uniqe ideas.
You'll get to experience a real-world process and workflow, working with a big codebase, gaining valuable insights and making a good project showcase for your portfolio š. Members of the repo can / recommended to review each others code to help and share knowledge as well as keep the code base clean.
run npm install
to install all the dependencies.
Tech stack: NX, Nesjs, Typeorm, Postgres, Angular, React, Docker, Docker-compose and more.
Run docker-compose up
for a dev server, it will run up the Posgress DB.
###Project structure:
āāā root āāā apps ā āāā api <-- nest/node/denojs ā āāā client <-- angular/react āāā libs (1) āāā api <-- grouping folder (dir) ā āāā core <-- grouping folder (dir) ā ā āāā feature <-- nest/node/deno:lib (2) ā āāā feature-1 <-- grouping folder (dir) ā ā āāā data-access <-- nest/node/deno:lib, service + entities ā ā āāā feature <-- nest/node/deno:lib, module + controller ā ā āāā utils <-- nest/node/deno:lib, things like interceptors, guards, pipes etc... ā āāā feature-2 <-- grouping folder (dir) ā āāā data-access <-- nest/node/deno:lib, service + entities ā āāā feature <-- nest/node/deno:lib, module + controller ā āāā utils <-- nest/node/deno:lib, things like interceptors, guards, pipes etc... āāā client <-- grouping folder (dir) ā āāā shell <-- grouping folder (dir) ā ā āāā feature <-- angular/react:lib (3) ā āāā feature-1 <-- grouping folder (dir) ā ā āāā data-access <-- angular/react:lib, service, API calls, state management) ā ā āāā feature <-- grouping folder (dir) or lib (4) ā ā ā āāā list <-- angular/react:lib e.g. ProductList ā ā ā āāā detail <-- angular/react:lib e.g. ProductDetail ā ā āāā ui <-- grouping folder (dir) ā ā āāā comp-1 <-- angular/react:lib, SCAM for Component ā ā āāā pipe-1 <-- angular/react:lib, SCAM for Pipe ā āāā shared <-- grouping folder (dir) ā āāā data-access <-- angular/react:lib, any Service or State management to share across the Client app) ā āāā ui <-- grouping folder (dir) (5) ā āāā utils <-- angular/react:lib, usually shared Guards, Interceptors, Validators...) āāā shared <-- grouping folder (dir), most libs in here are buildable @nrwl/angular:lib) āāā data-access <-- my shared data-access is usually models, so it is a lib āāā ui <-- optional grouping folder (dir), if I have multiple client apps āāā utils <-- optional grouping folder (dir), usually validation logic or shared utilities āāā util1 <-- lib āāā util2 <-- lib
Run nx graph
to see a diagram of the dependencies of the projects.
Visit the Nx Documentation to learn more.