batara
TypeScript icon, indicating that this package has built-in type declarations

0.0.19 • Public • Published

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

Package Sidebar

Install

npm i batara

Weekly Downloads

5

Version

0.0.19

License

MIT

Unpacked Size

257 kB

Total Files

291

Last publish

Collaborators

  • kokoraka