Skip to content

tomanovy/nx-nestjs-angular-boilerplate

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


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 posts 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

Name Status Details
REST API Complete Powered by NestJS
Frontend In Progress Angular web client
Authentication Complete JWT support via Passport
Authorization Complete Simple role-based support (admin/user)
User Registration Complete Local registration via email/password
Social OAuth support for Google
User Management Complete Email verification
Forget/password reset
Database Integration Complete TypeORM
Data Validation Complete Infrastructure: Shared, core libraries maintain data structures between libraries
Backend: class-validator, Swagger models, database logic, and custom services
Configuration Complete .env file handles all base configuration
Environment-based configuration can be used for builds and pipelines
CI/CD Complete Distributed CI runners powered by Nx Cloud handle linting, testing, and builds
Error Handling Complete Integration with Sentry

(back to top)

Built With

  • NestJS
  • Angular
  • Nx

(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 issues 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 Engineer - [email protected]

Project Link: https://github.com/wgd3/nx-nestjs-angular-boilerplate

(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)

About

A full stack template utilizing Nx, NestJS, and Angular

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 81.8%
  • HTML 10.4%
  • Handlebars 5.7%
  • JavaScript 1.7%
  • CSS 0.2%
  • Shell 0.2%