Quickstart · Tutorial · Starters · Contribute
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.
- Backend: Fullstack applications have one or more backend. 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.
The development of this project is sponsored by Crystal Design GmbH.
npm install -g cantara
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 athttp://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.
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
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.
Licensed under the MIT License.