This project is a boilerplate for web development built on top of Nest.js, GraphQL, MongoDB and Angular. For design and styles we used Angular Material and SCSS. You can simply build an application based on this starter.
- Mac OS X, Windows, or Linux
- Node.js v6.9 or newer
- Text editor or IDE pre-configured with Angular/TSlint
Before you start, take a moment to see how the project structure looks like:
├── /node_modules/ # 3rd-party libraries and utilities
├── /client/ # Client
│ ├── /src/ # The source code of the application
│ ├── /app/ # Angular application
│ ├── /assets/ # Static files
│ ├── /environments/ # Environment variables
│ ├── /browserslist # File is currently used by autoprefixer to adjust CSS to support the below specified browsers
│ ├── /main.js # Startup script
│ └── ... # Other regular files
├── /servers/ # Servers for API and static
│ ├── /api/ # GraphQL server schema and data models (api)
│ ├── /prod-static/ # The server for static files
│ ├── /scripts/ # Scripts for CLI
│ ├── /docker-compose.yml # Docker-compose file
│ ├── /docker.development.env # Settings for development
│ └── /README.md # Configurations for client-side and server-side bundles
├── package.json # The list of 3rd party libraries and utilities
└── ... # Other regular files
You can start by cloning the latest version of Angular fullstack starter on your local machine by running:
$ git clone -b master --single-branch https://github.com/vzx7/angular-full-starter.git MyApp
$ cd MyApp
You can use the Docker or install it locally or use a remote server.
Install docker-compose.
$ cd MyApp/servers/scripts/
$ ./mongo_up.sh
Install MongoDB and run it on port 27017 (default).
$ cd MyApp
$ npm install
$ cd MyApp
$ npm run server:dev
$ cd MyApp
$ npm run client:dev
$ cd MyApp
$ npm run build
$ cd MyApp
$ npm run start:prod
This boilerplate is the basis for the project and implements CRUD and file uploads. The plans are to make an authorization module, while this is in progress. We invite you to cooperation, it will be cool if someone implements authorization and will improve this starter.