The current state of this repo is a proof of concept around creating a seed project to launch new projects to success in a more rapid manner. That is how the name, Valor Launchpad came to be.
The stack used for this project is as follows.
- Angular 12
- NestJS 7
- Prisma 2.28.0
- MySQL
- Redis 6.2.4
- Make sure you have Docker installed and running
- run the
docker compose up -d
to setup the MySQL and Redis - run schema sync
npm run schema:sync
to synchronyze DBs - run the
npm run seed:run
command to scaffold the seed database with its structure and default data - run the server with
npm run start:server
- run the client with
npm run start
- navigate to
http://localhost:4200/sign-in
and sign in with the credentials in the placeholder
The features for our initial admin panel were based on the Appstack template by Bootlab. After the template was purchased, it was used for the raw HTML and SCSS. From there it was converted to Angular and rebranded.
Feature | HTML Generated | Converted to Angular | Data via Server | Seed Created | Tests Added | Extracted to Lib | Polished |
---|---|---|---|---|---|---|---|
Blank | ✅ | ✅ | N/A | N/A | ▢ | ▢ | ▢ |
Sign In | ✅ | ✅ | ✅ | N/A | ▢ | ▢ | ▢ |
Sign Up | ✅ | ✅ | ✅ | N/A | ▢ | ▢ | ▢ |
Calendar | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Charts-Apexcharts | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Charts-ChartJs | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Chat | ✅ | ✅ | ✅ | ✅ | ▢ | ▢ | ▢ |
Clients | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Color-Palette | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Dashboard Analytics | ✅ | ✅ | ✅ | ✅ | ▢ | ▢ | ▢ |
Dashboard Crypto | ✅ | ✅ | ✅ | ✅ | ▢ | ▢ | ▢ |
Dashboard Default | ✅ | ✅ | ✅ | ✅ | ▢ | ▢ | ▢ |
Dashboard SaaS | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Dashboard Social | ✅ | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ |
Datatables Ajax | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Datatables Buttons | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Datatables Column Search | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Datatables Fixed Header | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Datatables Multi | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Datatables Responsive | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Docs Changelog | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Docs Customization | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Docs Installation | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Docs Introduction | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Docs Plugins | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Error Page | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Forms Advanced Inputs | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Forms Basic Inputs | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Forms Editors | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Forms Floating Labels | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Forms Input Groups | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Forms Layouts | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Forms Validation | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Forms Wizard | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Icons Font Awesome | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Invoice | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Maps Google | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Maps Vector | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Not Found | ✅ | ✅ | N/A | ▢ | ▢ | ▢ | ▢ |
Notifications | ✅ | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ |
Payments | ✅ | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ |
Pricing | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Profile | ✅ | ✅ | ✅ | ✅ | ▢ | ▢ | ▢ |
Projects Detail | ✅ | ✅ | ✅ | ✅ | ▢ | ▢ | ▢ |
Projects Listing | ✅ | ✅ | ✅ | ✅ | ▢ | ▢ | ▢ |
Reset Password | ✅ | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ |
Reset New Password | ✅ | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ |
Settings | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Tasks | ✅ | ✅ | ✅ | ✅ | ▢ | ▢ | ▢ |
Table Bootstrap | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Term Of Service | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Users | ✅ | ✅ | ✅ | ✅ | ▢ | ▢ | ▢ |
UI Alerts | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
UI Buttons | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
UI Cards | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
UI Carousel | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
UI Embed Video | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
UI General | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
UI Grid | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
UI Modals | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
UI Off Canvas | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
UI Tabs | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
UI Typography | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ | ▢ |
Verify User | ✅ | ✅ | ✅ | ▢ | ▢ | ▢ | ▢ |
CMS functionality emulating Strapi with added multi-tenancy
Integration | Created | Extracted to NestJS Lib | Tests Added | Polished |
---|---|---|---|---|
Stripe | ✅ | ✅ | ▢ | ▢ |
Twilio | ✅ | ✅ | ▢ | ▢ |
Sendgrid | ✅ | ✅ | ▢ | ▢ |
JWT Auth | ✅ | ✅ | ▢ | ▢ |
- Copy and paste raw HTML from hardcoded template files
- Migrate page logic to Angular Components and extract hardcoded raw data to Angular Services
- Create NestJS Controller and Services to manage hardcoded raw data
- Create Entities and Prisma Seeds for generating dynamic raw data
This project was generated using Nx.
🔎 Powerful, Extensible Dev Tools
This project requires mysql
10-minute video showing all Nx features
Nx supports many plugins which add capabilities for developing different types of applications and different tools.
These capabilities include generating applications, libraries, etc as well as the devtools to test, and build projects as well.
Below are our core plugins:
- Angular
ng add @nrwl/angular
- React
ng add @nrwl/react
- Web (no framework frontends)
ng add @nrwl/web
- Nest
ng add @nrwl/nest
- Express
ng add @nrwl/express
- Node
ng add @nrwl/node
There are also many community plugins you could add.
Run ng g @nrwl/angular:app my-app
to generate an application.
You can use any of the plugins above to generate applications as well.
When using Nx, you can create multiple applications and libraries in the same workspace.
Run nx generate @nrwl/angular:lib my-lib
to generate a library.
Run nx generate @nrwl/nest:library my-lib
to generate a library.
You can also use any of the plugins above to generate libraries as well.
Libraries are shareable across libraries and applications. They can be imported from @valor-launchpad/mylib
.
Run ng serve my-app
for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you
change any of the source files.
Run ng g component my-component --project=my-app
to generate a new component.
Run ng build my-app
to build the project. The build artifacts will be stored in the dist/
directory. Use
the --prod
flag for a production build.
Run ng test my-app
to execute the unit tests via Jest.
Run nx affected:test
to execute the unit tests affected by a change.
Run ng e2e my-app
to execute the end-to-end tests via Cypress.
Run nx affected:e2e
to execute the end-to-end tests affected by a change.
Run nx dep-graph
to see a diagram of the dependencies of your projects.
Visit the Nx Documentation to learn more.
Nx Cloud pairs with Nx in order to enable you to build and test code more rapidly, by up to 10 times. Even teams that are new to Nx can connect to Nx Cloud and start saving time instantly.
Teams using Nx gain the advantage of building full-stack applications with their preferred framework alongside Nx’s advanced code generation and project dependency graph, plus a unified experience for both frontend and backend developers.
Visit Nx Cloud to learn more.