Logo

Nx NestJS Angular Boilerplate

A boilerplate repository for new projects based on the latest Nx, Angular, and NestJS versions.
Explore the docs »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Roadmap
  4. Contributing
  5. License
  6. Contact
  7. Acknowledgments

About The Project

After publishing a series of blog postsopen in new window on creating a full-stack project with this same stack, I decided to publish a generic boilerplate for future use. This template has saved me hours of re-implementing the same logic for authentication, user management, Swagger documentation, and more.

(back to top)

Features

NameStatusDetails
REST APICompletePowered by NestJS
FrontendIn ProgressAngular web client
AuthenticationCompleteJWT support via Passport
AuthorizationCompleteSimple role-based support (admin/user)
User RegistrationCompleteLocal registration via email/password
Social OAuth support for Google
User ManagementCompleteEmail verification
Forget/password reset
Database IntegrationCompleteTypeORM
Data ValidationCompleteInfrastructure: Shared, core libraries maintain data structures between libraries
Backend: class-validator, Swagger models, database logic, and custom services
ConfigurationComplete.env file handles all base configuration
Environment-based configuration can be used for builds and pipelines
CI/CDCompleteDistributed CI runners powered by Nx Cloud handle linting, testing, and builds
Error HandlingCompleteIntegration with Sentry

(back to top)

Built With

(back to top)

Getting Started

To create your own repository from this codebase, click the "Use this template" button in the GitHub UI.

Prerequisites

A few things are needed before working on this project:

  • yarn

    > npm install yarn@latest -g
    
    # alternative installation method
    
    > brew install yarn
    
  • nx

    > npm install nx@latest -g
    

Optional Integrations:

  • Sentry DSN
  • Google OAuth Client ID/Secret
  • SMTP settings

Getting Started

See GETTING_STARTED.md for steps on configuring your workspace and customizing your application.

(back to top)

Roadmap

See TODO.md for details on planned features and ideas

See the open issuesopen in new window for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

Wallace Daniel - The Full Stack Engineeropen in new window - wallace@thefullstack.engineer

Project Link: https://github.com/wgd3/nx-nestjs-angular-boilerplateopen in new window

(back to top)

Acknowledgments

This repository results from my experiments with different repository structures, best practices, and framework integrations. Part of the evolution of this repository included chunks of code copied from, or inspired by, other repositories.

This list continually evolves; more will be added as the repository evolves!

(back to top)