Welcome to the ToDo App Example! It is an example for a simple client-server application.
This is a lerna Monorepro for App (Angular) and API (NestJS). Build with NgBaseStarter and Starter for Nest Server via CLI.
If you are not yet familiar with Angular or NestJS, we recommend you to have a look at the following sections of our academy lenne.Learning:
If you want to learn how this app was created, check out our tutorial: https://masterminds.work/main/strukturen/angular--nestjs-63ee25eddea158f3cd899cfc
-
Node.js incl. npm: the runtime environment for your server
-
Git: the version control system for your source code
-
MongoDB (or any other database compatible with MikroORM): the database for your objects
Installation on MacOS:
/bin/bash -c "$(curl - fsSL https: //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew tap mongodb/brew
brew update
brew install mongodb-community@6.O
brew services start mongodb
brew install node
npm install -g n
To check if all requirements are met, we can display the versions of the respective software (the version may differ from your versions in the following example):
mongod --version
db version v6.0.1
node -v
v16.17.0
npm -v
8.15.0
Clone this repository and install packages:
git clone https://github.com/lenneTech/todo-example-app
cd todo-example-app
npm run init
Check if the requirements are met by running the tests (in the root directory):
npm test
Both the app and the API are started with the following command (in the root directory):
npm start
The following URLs are then accessible:
- App: http://localhost:4200
- Documentation of the API: http://localhost:3000
- Playground for using the API: http://localhost:3000/graphql
If a URL is not reachable, it may be due to an error in the source code or because another process is already occupying the corresponding port (3000 / 4200). In this case you can either stop the other process or set another port in the configuration of the app or server.
The architecture of the projects is based on the following structures:
- Both the app and the API can be found with their respective dependencies in the
projectsdirectory - Both technologies are still compatible with their own CLI ([Angular CLI](angular cli) / NestJS CLI)
- The lt CLI also offers a few benefits regarding the extensions NgBaseStarter and Starter for Nest Server
- To organize the monorepro lerna is used
- Initialized via
lt create angular