Skip to content

idaman-id/batara

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Jul 23, 2021
049bc81 Β· Jul 23, 2021

History

56 Commits
Jul 9, 2021
Jul 23, 2021
Jul 23, 2021
Jul 23, 2021
Jul 23, 2021
Jul 23, 2021
Jul 12, 2021
Jul 10, 2021
Jul 9, 2021
Jul 9, 2021
Jul 23, 2021
Jul 23, 2021
Jul 19, 2021
Jul 10, 2021
Jul 10, 2021
Jul 10, 2021

Repository files navigation

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