npm package: @nikode/matrix-js
Description: lightweight js framework based on mvvm arch
Author: Nicolas Montmayeur
Latest version: 0.0.4

<br/>
<p align="center">
  <h3 align="center">js-framework</h3>

  <p align="center">
    An Awesome lightweight TS framework based on MVVM
    <br/>
    <br/>
    <a href="https://github.com/niko-38500/js-framework/wiki"><strong>Explore the docs »</strong></a>
    <br/>
    <br/>
    <a href="https://github.com/niko-38500/js-framework/issues">Report Bug</a>
    .
    <a href="https://github.com/niko-38500/js-framework/issues">Request Feature</a>
  </p>
</p>

![Downloads](https://img.shields.io/github/downloads/niko-38500/js-framework/total) ![Contributors](https://img.shields.io/github/contributors/niko-38500/js-framework?color=dark-green) ![License](https://img.shields.io/github/license/niko-38500/js-framework)

## Table Of Contents

* [About the Project](#about-the-project)
* [Built With](#built-with)
* [Getting Started](#getting-started)
    * [Prerequisites](#prerequisites)
    * [Installation](#installation)
* [Usage](#usage)
* [Roadmap](#roadmap)
* [Contributing](#contributing)
* [License](#license)
* [Authors](#authors)

## About The Project

### Js-framework
La balnave is a lightweight typescript framework based on MVVM architecture and use SCSS for styling, MIT-licensed open source project.
Actual features :

- Template engine HTML
    - variable interpolation
    - loop
    - condition
    - import another file (in progress)
    - block (in progress)
- Data passed from view model to view are automatically refreshed when value change in the model
- Life cycle event handling
    - onInit, onLoaded, onDestroy (others will come)
- Native dark mode
- Routing

## Built With

- type script
- sass

## Getting Started


### Prerequisites

to start this project you need to have
* node.js
* npm

### Installation

1.  Clone the repo

```sh
git clone git@github.com:niko-38500/js-framework.git
```
2. Install NPM packages

```sh
npm install
```

4. enjoy you can start your project 👍

## Usage

To learn how to use this framework, please refer to the _[Documentation](https://github.com/niko-38500/js-framework/wiki)_

## Roadmap

See the [open issues](https://github.com/niko-38500/js-framework/issues) for a list of proposed features (and known issues).
### Next update planned
* separate all features in npm package and allow to run a project with npx command
    * allow to launch a project with all features or just the minimal viable

## Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.
* If you have suggestions for adding or removing projects, feel free to [open an issue](https://github.com/niko-38500/ReadME-Generator/issues/new) to discuss it, or directly create a pull request after you edit the *README.md* file with necessary changes.
* Please make sure you check your spelling and grammar.
* Create individual PR for each suggestion.
* Please also read through the [Code Of Conduct](https://github.com/niko-38500/js-framework/wiki/Contributor) before posting your first idea as well.

### Creating A Pull Request

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

## License

Distributed under the MIT License. See [LICENSE](https://github.com/niko-38500/ReadME-Generator/blob/main/LICENSE.md) for more information.

## Authors

* **Nicolas Montmayeur** - *dev web Junior* - [Nicolas Montmayeur]() - **