batara

Javascript framework for laravel users

Usage no npm install needed!

<script type="module">
  import batara from 'https://cdn.skypack.dev/batara';
</script>

README

Batara ๐Ÿ˜‡

Javascript framework for laravel users

NPM Version NPM Downloads

Quality gate

๐Ÿคฉ Motivations

  1. Provide easy to use laravel like folder architecture on top of express application
  2. Provide boilerplate for my internal works

๐Ÿ–– Usage

Development

It's should be something like:

1. npm install -g garuda
2. garuda batara new [project-name]
3. cd [project-name]
4. npm install
5. npm run dev
6. enjoy!

Coming soon, our scaffolding tools: garuda

Contribution

  1. Install packages: npm install
  2. Available commands
  • Check development: npm run dev
  • Test with coverage: npm run test
  • Test with watcher: npm run test:watch
  • Build: npm run build
  1. Enjoy

๐Ÿงพ Structure

|-- Workspace
    |-- jest.config.js
    |-- nodemon.json
    |-- package.json
    |-- README.md
    |-- tsconfig.build.json
    |-- tsconfig.json
    |-- tsconfig.test.json
    |-- .github
    |-- asset
    |-- dist
    |-- doc
    |-- example
    |-- src
    |   |-- contract
    |   |-- controller
    |   |-- entity
    |   |-- error
    |   |-- middleware
    |   |-- provider
    |   |-- router
    |   |-- validator
    |-- test
    |   |-- unit
    |   |-- integration

โœ”๏ธ Test & Coverages

Test coverages

๐Ÿ“‹ Docs

Complete documentations are available here

Legends:

  • โœ”๏ธ Available with test
  • โš ๏ธ Available without test (Use with your own risk ๐Ÿ˜†)
  • โŒ Unavailable yet
  • โ“ Ideation/request
Status Feature Description
โœ”๏ธ Contract definition of application shape
โœ”๏ธ Controller last place to retrieve request and returning response
โœ”๏ธ Entity class containing business logic
โœ”๏ธ Error library defined error, feel free to extend the SystemError
โœ”๏ธ Logger built in logger
โœ”๏ธ Middleware intermediary between request and controller
โœ”๏ธ Provider class to activate/inactivate certain configuration
โœ”๏ธ Router define how and by who certain request will be handled
โœ”๏ธ Validator built in request validator, support multi-lingual according to client preferred configuration

โ“ Questions

Any question related to this library please refer to discussion

๐Ÿ‘€ Issues

  1. There's issue with nodemon ^2.0.9 when restarting app causing port is already in use, so we downgrade to the previous version nodemon v2.0.7. Hope they fix it in the future so we can enjoy using nodemon newer version again.

๐Ÿš€ Roadmaps

To understand more about our progress please see changelog

[v0.0.20] - Jul 30, 2021

  1. write integration test
  2. write complete documentation

[v0.0.21] - TBA

  1. Add static type checking during runtime

[v0.0.22] - TBA

  1. replace express-validator with custom declarative-validator
  • implementation one of: validator.js, joi, indicative(adonis)

๐Ÿคฉ Contributor

Feel free to contribute

๐Ÿ’– Support

Feel free to contributes and supporting us through: Patreon

๐Ÿ“œ License

MIT