Create A Node, TypeScript And React Application
Cantara is a CLI tool to create Fullstack React applications in minutes
- Zero configuration: Cantara takes care of all the configurations for your project. No more fiddling around with webpack, typescript, or jest configs. There is even a config for the VS Code debugger.
- Testing included: Have a complete testing-setup before you even wrote your first line of code. Jest and Cypress allow for all modern practices of automated software testing.
- Backends: Fullstack applications have one or more backends. Build plain NodeJS or serverless APIs that easily connect with the rest of your application.
- Mono-repository: All of your code lives inside a single repository. This makes it easy to share code between all your applications, while still keeping a clear separation of concerns thanks to packages..
- Typescript: Use TypeScript throught your entire application.
Learn how to use Cantara for your next project.
Table of contents
Installation
npm install -g cantara
Getting started
You can get a new Cantara project up and running on your local dev environment in less than 5 minutes:
-
Install the Cantara CLI.
npm install -g cantara
Requires Node.js version > 10
-
Create a new Cantara project.
Create your Cantara project with a single command:
# creates a new cantara project using the default starter
cantara init my-cantara-starter
This command creates a project with the following structure:
├───node-apps
│ ├───express-api
│ └───sls-api
├───packages
│ ├───core-api
│ └───random-image-widget
└───react-apps
└───random-image-app
-
Start the services in develop mode.
Now, move into your project's directory and start each application in a separate console:
cd my-cantara-starter
cantara dev random-image-app
cantara dev express-api
Tip: You can type cantara
without any parameters into your console to start an interactive CLI wizard.
-
Open code and start editing!
Your frontend app is now running at http://localhost:8080
and your backend API is running at http://localhost:3001
. Any code changes will update your application in real time.
Well done! At this point, you've got a working fullstack application waiting to be further developed. For a more in-depth guide on what you can do with Cantara, check out the official tutorial.
Adding applications
You can have multiple applications inside your Cantara project. There are 3 different types of applications. For each type, there is a respective folder inside of your cantara project:
- nodes-apps:
- react-apps:
- packages:
To add a new application to your project, simply create a folder with the application name inside the parent folder of the respective application type, and put your source code inside that folder.
For example, let's say you wanted to add another frontend application to the project from the Getting-started tutorial. To do so, you create a new folder inside of the react-apps
folder called dashboard
, where you put the code for your admin dashboard.
...
└───react-apps
└───random-image-app
└───admin-dashboard # new react app
How to Contribute
This project is still young and every contribution helps to turn this project into a mature tool that makes developer's lives easier.
Checkout our Contributing Guide to learn how you can start contributing to the project.
License
Licensed under the MIT License.