{"id":18554225,"url":"https://github.com/oracle/create-database-app","last_synced_at":"2025-04-09T23:31:04.862Z","repository":{"id":247801462,"uuid":"823976227","full_name":"oracle/create-database-app","owner":"oracle","description":"An NPM package to create Oracle Database Applications from a selection of templates","archived":false,"fork":false,"pushed_at":"2025-04-04T15:40:12.000Z","size":7237,"stargazers_count":27,"open_issues_count":40,"forks_count":6,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-08T07:47:37.591Z","etag":null,"topics":["create-database-app","npm-package","oracle","oracle-database","scaffolding"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/@oracle/create-database-app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"upl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oracle.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-04T06:00:55.000Z","updated_at":"2025-04-04T04:32:19.000Z","dependencies_parsed_at":"2024-11-05T00:23:45.958Z","dependency_job_id":"eace17d9-b879-4f2c-a725-f21bc34f81eb","html_url":"https://github.com/oracle/create-database-app","commit_stats":null,"previous_names":["oracle/create-database-app"],"tags_count":9,"template":false,"template_full_name":"oracle/template-repo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle%2Fcreate-database-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle%2Fcreate-database-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle%2Fcreate-database-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle%2Fcreate-database-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oracle","download_url":"https://codeload.github.com/oracle/create-database-app/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248129581,"owners_count":21052598,"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","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":["create-database-app","npm-package","oracle","oracle-database","scaffolding"],"created_at":"2024-11-06T21:20:18.529Z","updated_at":"2025-04-09T23:30:59.843Z","avatar_url":"https://github.com/oracle.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Create Database App \u003c!-- omit in toc --\u003e\n\n## Table of Contents \u003c!-- omit in toc --\u003e\n\n- [Overview](#overview)\n- [Prerequisites](#prerequisites)\n- [Installation](#installation)\n- [Getting Started](#getting-started)\n- [Templates](#templates)\n- [Options](#options)\n- [Examples](#examples)\n  - [Usage](#usage)\n  - [Simple React app](#simple-react-app)\n  - [React todo app](#react-todo-app)\n  - [Application without interactive prompts](#application-without-interactive-prompts)\n- [Contributing](#contributing)\n- [Security](#security)\n- [License](#license)\n\n## Overview\n\nCreate an Oracle Database Application from a template.\n\nNOTE: The applications generated by this package should not be deployed using privileged database accounts. In turn, Oracle recommends for them to be deployed using the least privileged account possible.\n\n## Prerequisites\n\n- An Oracle Database, either on-prem or an [Autonomous Database](https://www.oracle.com/autonomous-database/) instance\n- Node.js 18 (Recommendation is to use nvm)\n\n## Installation\n\nInstall the package globally using npm\n\n```sh\nnpm install -g @oracle/create-database-app\n```\n\n## Getting Started\n\nThe main application usage is through the @oracle/create-database-app NPM package, which will scaffold an application that will be connected to your Oracle Database.\n\n```sh\nnpm create @oracle/database-app\n```\nThis will temporarily install the package in your computer and prompt you for details like the name of the application, the template, and the database connection, from which it will create a git folder named as the given application name in your current directory, and install its dependencies.\n\nNext, you will be able to open the project in your favorite IDE or Code Editor and read the provided documentation to get started creating a database application using your favorite framework. We ship configuration files with recommended settings and extensions for Visual Studio Code.\n\n## Templates\n\nThe package offers the following templates, some of them connect to the database using the [oracledb database driver](https://github.com/oracle/node-oracledb) and other use [Oracle REST Data Services](https://www.oracle.com/database/technologies/appdev/rest.html) endpoints:\n\n- `node-vanilla`: A starter template that uses Node.js, vanilla JavaScript, HTML and CSS. It is built by [vite](https://vitejs.dev/).\n- `node-jet`: A starter template that uses Node.js and [Oracle JET](https://www.oracle.com/webfolder/technetwork/jet/index.html). It is built using the [ojet-cli](https://www.npmjs.com/package/@oracle/ojet-cli).\n- `node-react`: A starter template that uses Node.js and [React](https://react.dev/). It is built by [vite](https://vitejs.dev/).\n- `node-vue`: A starter template that uses Node.js and [Vue.js](https://vuejs.org/). It is built by [vite](https://vitejs.dev/).\n- `node-angular`: A starter template that uses Node.js and [Angular](https://angular.dev/). It is built by [Angular CLI](https://github.com/angular/angular-cli). (New in `v1.2.0`)\n- `node-react-todo`: A simple task manager template that uses Node.js and [React](https://react.dev/). It demonstrates the use of the database for Create, Read, Update and Delete (CRUD) operations. It is built by [vite](https://vitejs.dev/).\n- `ords-remix-jwt-sample`: A full stack Concert Application made with [Remix](https://remix.run/) that showcases the [Oracle REST Data Services](https://www.oracle.com/database/technologies/appdev/rest.html) functionalities. Some extra configuration is required, learn more about it in the `ords-remix-jwt-sample` [Getting Started Guide](/templates/ords-remix-jwt-sample/README.md#getting-started).\n\nEach of the templates include documentation for you to get started with them, as well as NPM scripts for you to use right after generating the application.\n\n## Options\n\nYou can provide the following options directly to the command:\n\n- `template`: Name of the template to use ([See options above](#templates))\n- `connection-type`: Options listed below:\n  - `basic`: Requires additional information like `db-protocol`, `db-hostname`, etc.\n  - `walletPath`: Requires a path to the wallet via the `wallet-path` flag.\n- `wallet-path`: Path to the zip file (or folder if uncompressed) containing the wallet and network configuration files.\n- `db-username`: Database username to connect. **Note**: For [Autonomous Databases](https://www.oracle.com/autonomous-database/) we do not recommend using the ADMIN user.\n- `db-protocol`: For details consult [Connecting to Oracle Database](https://node-oracledb.readthedocs.io/en/latest/user_guide/connection_handling.html).\n- `db-hostname`: For details consult [Connecting to Oracle Database](https://node-oracledb.readthedocs.io/en/latest/user_guide/connection_handling.html).\n- `db-port`: For details consult [Connecting to Oracle Database](https://node-oracledb.readthedocs.io/en/latest/user_guide/connection_handling.html).\n- `db-service-type`: Options listed below. For details consult [Connecting to Oracle Database](https://node-oracledb.readthedocs.io/en/latest/user_guide/connection_handling.html).\n  - `serviceName`\n  - `sid`\n- `db-service-name`: For details consult [Connecting to Oracle Database](https://node-oracledb.readthedocs.io/en/latest/user_guide/connection_handling.html).\n- `db-sid`: For details consult [Connecting to Oracle Database](https://node-oracledb.readthedocs.io/en/latest/user_guide/connection_handling.html).\n\n## Database Environment\nWhen an application is generated, you'll find a `.env` file with details regarding the connection to the database used in the application.\n\n```properties\n# Database user\nDB_USER=\u003cmy-username\u003e\n# Database password\nDB_PASSWORD=\u003cmy-password\u003e\n...\n```\nNote: For the `ords-remix-jwt-sample` is expected that you will configurate your own `.env` file folowing the `ords-remix-jwt-sample` [Getting Started Guide](/templates/ords-remix-jwt-sample/README.md#getting-started).\n\n## Examples\n\n### Usage\n\nThe simplest example on how to use the generator is via:\n```sh\nnpm create @oracle/database-app\n```\nThis opens an interactive prompt where information regarding the application and connection details can be provided.\n\n### Simple React app\n\n```sh\nnpm create @oracle/database-app -- \"my-react-app\" --template \"node-react\"\n```\n\n### React todo app\n\nYou can generate an example of a fully functional application. The example below creates an app named `my-todo` with the `node-react-todo` template.\n\n```sh\nnpm create @oracle/database-app -- \"my-todo\" --template \"node-react-todo\"\n```\n\n### Application without interactive prompts\n\nAny combination of parameters defined via the interactive prompt can be defined using a flag as part of the command.*\n\n```sh\nnpm create @oracle/database-app -- \"my-app\" \\\n    --template \"node-react\" \\\n    --connection-type \"walletPath\" \\\n    --db-username \"\u003cmy-db-user\u003e\" \\\n    --wallet-path \"\u003cpath\u003e.zip\"\n```\n\nThe example above shows how to connect to an [Autonomous Database](https://www.oracle.com/autonomous-database/) using a wallet.\n\nNote: passwords still need to be provided using the prompt.\n\n## Contributing\n\nThis project welcomes contributions from the community. Before submitting a pull\nrequest, please [review our contribution guide](./CONTRIBUTING.md)\n\n## Security\n\nPlease consult the [security guide](./SECURITY.md) for our responsible security\nvulnerability disclosure process\n\n## License\n\nCopyright (c) 2024 Oracle and/or its affiliates.\n\nReleased under the Universal Permissive License v1.0 as shown at\n\u003chttps://oss.oracle.com/licenses/upl/\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foracle%2Fcreate-database-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foracle%2Fcreate-database-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foracle%2Fcreate-database-app/lists"}