Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/CantaraJS/cantara
Create Node, Typescript and React Serverless Full Stack Apps in minutes.
https://github.com/CantaraJS/cantara
Last synced: 17 days ago
JSON representation
Create Node, Typescript and React Serverless Full Stack Apps in minutes.
- Host: GitHub
- URL: https://github.com/CantaraJS/cantara
- Owner: CantaraJS
- License: mit
- Created: 2020-01-08T19:16:17.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-10-07T07:15:03.000Z (about 1 month ago)
- Last Synced: 2024-10-22T11:55:27.032Z (22 days ago)
- Language: TypeScript
- Homepage: https://cantara.js.org
- Size: 7.14 MB
- Stars: 39
- Watchers: 4
- Forks: 5
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
![Cantara](docs/static/img/cantara.svg 'Cantara Logo')
Cantara
Create A Node, TypeScript And React Application
Quickstart
·
Tutorial
·
Starters
·
ContributeCantara 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](https://jestjs.io/) and [Cypress](https://www.cypress.io/) 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](https://cantara.js.org/docs/introduction).
## Sponsors
The development of this project is sponsored by [Crystal Design GmbH](https://diva-portal.de).
![Crystal Design](https://avatars.githubusercontent.com/u/68067035?s=200&v=4)
## Table of contents
- [Installation](#installation)
- [Getting started](#getting-started)
- [Adding applications](#adding-applications)
- [How to Contribute](#how-to-contribute)
- [License](#license)## 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:
1. **Install the Cantara CLI.**
```shell
npm install -g cantara
```_Requires Node.js version > 10_
2. **Create a new Cantara project.**
Create your Cantara project with a single command:
```shell
# creates a new cantara project using the default starter
cantara init my-cantara-starter
```This command creates a project with the following structure:
```shell
├───node-apps
│ ├───express-api
│ └───sls-api
├───packages
│ ├───core-api
│ └───random-image-widget
└───react-apps
└───random-image-app
```3. **Start the services in develop mode.**
Now, move into your project's directory and start each application in a separate console:
```shell
cd my-cantara-starter
``````shell
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.
4. **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](https://cantara.js.org/docs/docs_intro/).
## 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.
```shell
...
└───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**](https://cantara.js.org/docs/maintainers_intro) to learn how you can start contributing to the project.
## License
Licensed under the [MIT License](./LICENSE).