{"id":15660535,"url":"https://github.com/wendelladriel/adonis-api-skeleton","last_synced_at":"2025-07-22T23:02:32.061Z","repository":{"id":90777767,"uuid":"84259813","full_name":"WendellAdriel/adonis-api-skeleton","owner":"WendellAdriel","description":"Awesome AdonisJS boilerplate to create APIs using a DDD based architecture","archived":false,"fork":false,"pushed_at":"2017-03-09T17:23:44.000Z","size":60,"stargazers_count":20,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-05T21:15:41.538Z","etag":null,"topics":["adonisjs","api","architecture","javascript","skeleton"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WendellAdriel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-08T00:22:15.000Z","updated_at":"2024-03-30T09:07:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"cfe00319-6804-4558-a8d8-8734eaca7938","html_url":"https://github.com/WendellAdriel/adonis-api-skeleton","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/WendellAdriel/adonis-api-skeleton","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WendellAdriel%2Fadonis-api-skeleton","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WendellAdriel%2Fadonis-api-skeleton/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WendellAdriel%2Fadonis-api-skeleton/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WendellAdriel%2Fadonis-api-skeleton/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WendellAdriel","download_url":"https://codeload.github.com/WendellAdriel/adonis-api-skeleton/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WendellAdriel%2Fadonis-api-skeleton/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266586839,"owners_count":23952199,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adonisjs","api","architecture","javascript","skeleton"],"created_at":"2024-10-03T13:22:13.803Z","updated_at":"2025-07-22T23:02:32.013Z","avatar_url":"https://github.com/WendellAdriel.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AdonisJS API Skeleton\n\n\u003e Awesome AdonisJS boilerplate to create APIs using a DDD based architecture\n\nIf you never worked with `AdonisJS` before, please give a look in its **[docs](http://adonisjs.com/docs/3.2/overview)** first\n\n## How this architecture works\n\nThe major changes were made in the `app` folder, so the files in `bootstrap`, `config` and `database` works the same way as described in the `AdonisJS` docs, there were only few changes in these folders, so you don't need to worry too much about them.\n\nThis boilerplate uses a DDD based architecture, so the main folders you will be working with will be: `Domains` and `Modules` folders. Below I will talk a little about the folders inside `app`:\n\n- `Core:` These are helper files that I created to make things simpler when working with this boilerplate, most likely that you don't need to change nothing here.\n\n- `Domains:` Here you will create the domains of your application, each domain will have one or more: `models`, `repositories`, `resources (like messages)`, `validators`. Here you will put only domains that can be used and shared by your `Modules`.\n\n- `Modules:` Here you will create the modules of your application, think in each module as an `micro service`, they're independent and can use one or many `Domains`. Each module needs to define their own `routes` and will have one or more: `controllers`, `resources (like messages)`, `services`.\n\n- `Providers:` Here you will find three files...\n  - `channels.js:` File used to define `Websocket channels` that your application can use\n  - `events.js:` File used to define `Events` that your application will run\n  - `routes.js:` File used to define the `Routes` of your application, you only need to create an array with the modules you want to be loaded in your application.\n\n- `Support:` Here you can put helper files that can be used by any of your `Modules` and `Domains`.\n\n## How to use\n\n- Clone this **repo** and enter it\n\n- Install the **dependencies**\n\n```\nyarn\n```\n\n- Copy the `.env.example` file to `.env` file\n\n```\ncp .env.example .env\n```\n\n- Generate the application key\n\n```\n./ace key:generate\n```\n\n- Run the **migrations**\n\n```\n./ace migration:run\n```\n\n- Run the **seeds**\n\n```\n./ace db:seed\n```\n\n## Commands available\n\n- To run the lint use\n\n```\nyarn lint\n```\n\n- To run the app in development mode use\n\n```\nyarn serve:dev\n```\n\n- To run the app in production mode use\n\n```\nyarn serve\n```\n\n## Things that needs to be done\n\nThis boilerplate was made only for an example, so there are some things **(important things)** that still needs to be done like: `tests`, enhance the validation method, etc. Feel free to **fork this repo** and send some **Pull Requests** to help!!!\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/WendellAdriel/adonis-api-skeleton/. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwendelladriel%2Fadonis-api-skeleton","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwendelladriel%2Fadonis-api-skeleton","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwendelladriel%2Fadonis-api-skeleton/lists"}