diff --git a/example/.gitkeep b/examples/.gitkeep similarity index 100% rename from example/.gitkeep rename to examples/.gitkeep diff --git a/examples/app-template/.editorconfig b/examples/app-template/.editorconfig new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/.env.example.yaml b/examples/app-template/.env.example.yaml new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/.gitattributes b/examples/app-template/.gitattributes new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/.gitignore b/examples/app-template/.gitignore new file mode 100644 index 0000000..dc3580a --- /dev/null +++ b/examples/app-template/.gitignore @@ -0,0 +1,25 @@ +# See https://www.dartlang.org/guides/libraries/private-files + +# Files and directories created by pub +.dart_tool/ +.packages +build/ +# If you're building an application, you may want to check-in your pubspec.lock +pubspec.lock + +# Ignore autosave files +README.md~ +.gitignore~ + +# Directory created by dartdoc +# If you don't generate documentation locally you can remove this line. +doc/api/ + +# Avoid committing generated Javascript files: +*.dart.js +*.info.json # Produced by the --dump-info flag. +*.js # When generated by dart2js. Don't specify *.js if your + # project includes source files written in JavaScript. +*.js_ +*.js.deps +*.js.map diff --git a/examples/app-template/CHANGELOG.md b/examples/app-template/CHANGELOG.md new file mode 100644 index 0000000..effe43c --- /dev/null +++ b/examples/app-template/CHANGELOG.md @@ -0,0 +1,3 @@ +## 1.0.0 + +- Initial version. diff --git a/examples/app-template/LICENSE b/examples/app-template/LICENSE new file mode 100644 index 0000000..ffbfe08 --- /dev/null +++ b/examples/app-template/LICENSE @@ -0,0 +1,22 @@ + +The MIT License (MIT) + +Copyright (c) 2024 Patrick Stewart + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/examples/app-template/README.md b/examples/app-template/README.md new file mode 100644 index 0000000..eefde3c --- /dev/null +++ b/examples/app-template/README.md @@ -0,0 +1,42 @@ +

+ +## About Protevus + +> **Note:** This repository provides a base application setup inspired by Laravel. If you want to contribute to the core Protevus Platform, visit the main [Protevus Platform repository](https://github.com/protevus/platform). + +Protevus is a reference implementation that demonstrates how to build applications using the Protevus Platform. It serves as a starting point for developers to create their own applications leveraging the power and versatility of the Protevus Platform. + +## Features + +- **Laravel-inspired Structure**: The starter application follows a structure and conventions inspired by the Laravel framework, making it familiar to Laravel developers. +- **Protevus Platform Integration**: The application is built on top of the Protevus Platform, providing a Laravel-compatible API and development experience. +- **Example Components**: The repository includes example components such as controllers, middleware, and services, showcasing best practices and usage patterns. +- **Extensibility**: Developers can easily extend and customize the starter application to meet their specific project requirements. + +## Getting Started + +To get started with the Protevus Starter Application, follow these steps: + +1. **Install Dependencies**: Ensure you have the Dart SDK and the necessary dependencies installed on your system. +2. **Clone the Repository**: Clone the Protevus Starter Application repository to your local machine. +3. **Build and Run**: Follow the instructions in the repository's documentation to build and run the application. + +## Documentation + +Documentation for the Protevus Starter Application is available at [protevus.com/docs/protevus](https://protevus.com/docs/protevus). The documentation covers installation, configuration, customization, and deployment guides. + +## Contributing + +We welcome contributions from the community! If you'd like to contribute to the Protevus Starter Application, please follow the guidelines outlined in the [CONTRIBUTING.md](CONTRIBUTING.md) file. + +## License + +The Protevus Application is released under the [MIT License](LICENSE). + +## Support and Community + +If you have any questions, issues, or suggestions, please join our community: + +- **GitHub Discussions**: [github.com/protevus/protevus/discussions](https://github.com/protevus/protevus/discussions) +- **Twitter**: [@Protevus](https://twitter.com/Protevus) + diff --git a/examples/app-template/analysis_options.yaml b/examples/app-template/analysis_options.yaml new file mode 100644 index 0000000..dee8927 --- /dev/null +++ b/examples/app-template/analysis_options.yaml @@ -0,0 +1,30 @@ +# This file configures the static analysis results for your project (errors, +# warnings, and lints). +# +# This enables the 'recommended' set of lints from `package:lints`. +# This set helps identify many issues that may lead to problems when running +# or consuming Dart code, and enforces writing Dart using a single, idiomatic +# style and format. +# +# If you want a smaller set of lints you can change this to specify +# 'package:lints/core.yaml'. These are just the most critical lints +# (the recommended set includes the core lints). +# The core lints are also what is used by pub.dev for scoring packages. + +include: package:lints/recommended.yaml + +# Uncomment the following section to specify additional rules. + +# linter: +# rules: +# - camel_case_types + +# analyzer: +# exclude: +# - path/to/excluded/files/** + +# For more information about the core and recommended set of lints, see +# https://dart.dev/go/core-lints + +# For additional information about configuring this file, see +# https://dart.dev/guides/language/analysis-options diff --git a/examples/app-template/app/http/controllers/controller.dart b/examples/app-template/app/http/controllers/controller.dart new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/app/models/user.dart b/examples/app-template/app/models/user.dart new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/app/providers/appserviceprovider.dart b/examples/app-template/app/providers/appserviceprovider.dart new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/bootstrap/app.dart b/examples/app-template/bootstrap/app.dart new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/bootstrap/cache/.gitkeep b/examples/app-template/bootstrap/cache/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/bootstrap/providers.dart b/examples/app-template/bootstrap/providers.dart new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/caden.dart b/examples/app-template/caden.dart new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/config/app.dart b/examples/app-template/config/app.dart new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/config/auth.dart b/examples/app-template/config/auth.dart new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/config/cache.dart b/examples/app-template/config/cache.dart new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/config/database.dart b/examples/app-template/config/database.dart new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/config/filesystems.dart b/examples/app-template/config/filesystems.dart new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/config/logging.dart b/examples/app-template/config/logging.dart new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/config/mail.dart b/examples/app-template/config/mail.dart new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/config/queue.dart b/examples/app-template/config/queue.dart new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/config/services.dart b/examples/app-template/config/services.dart new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/config/session.dart b/examples/app-template/config/session.dart new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/database/factories/userfactory.dart b/examples/app-template/database/factories/userfactory.dart new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/database/migrations/0001_01_01_000000_create_cache_table.dart b/examples/app-template/database/migrations/0001_01_01_000000_create_cache_table.dart new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/database/migrations/0001_01_01_000000_create_jobs_table.dart b/examples/app-template/database/migrations/0001_01_01_000000_create_jobs_table.dart new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/database/migrations/0001_01_01_000000_create_users_table.dart b/examples/app-template/database/migrations/0001_01_01_000000_create_users_table.dart new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/database/seeders/databaseseeder.dart b/examples/app-template/database/seeders/databaseseeder.dart new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/devbox.json b/examples/app-template/devbox.json new file mode 100644 index 0000000..b965179 --- /dev/null +++ b/examples/app-template/devbox.json @@ -0,0 +1,14 @@ +{ + "$schema": "https://raw.githubusercontent.com/jetify-com/devbox/0.11.0/.schema/devbox.schema.json", + "packages": ["dart@latest"], + "shell": { + "init_hook": [ + "echo 'Welcome to devbox!' > /dev/null" + ], + "scripts": { + "test": [ + "echo \"Error: no test specified\" && exit 1" + ] + } + } +} diff --git a/examples/app-template/devbox.lock b/examples/app-template/devbox.lock new file mode 100644 index 0000000..4a7568f --- /dev/null +++ b/examples/app-template/devbox.lock @@ -0,0 +1,53 @@ +{ + "lockfile_version": "1", + "packages": { + "dart@latest": { + "last_modified": "2024-06-03T07:19:07Z", + "resolved": "github:NixOS/nixpkgs/4a4ecb0ab415c9fccfb005567a215e6a9564cdf5#dart", + "source": "devbox-search", + "version": "3.4.2", + "systems": { + "aarch64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/9piqr817cdsgmz31m8q723lxhcpgqsa4-dart-3.4.2", + "default": true + } + ], + "store_path": "/nix/store/9piqr817cdsgmz31m8q723lxhcpgqsa4-dart-3.4.2" + }, + "aarch64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/1j3h5yqxvgzakv5gir1ssg7wggwxhmsd-dart-3.4.2", + "default": true + } + ], + "store_path": "/nix/store/1j3h5yqxvgzakv5gir1ssg7wggwxhmsd-dart-3.4.2" + }, + "x86_64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/k8a6gkss3s19p5dhbzgbdqqk5b8qzd7d-dart-3.4.2", + "default": true + } + ], + "store_path": "/nix/store/k8a6gkss3s19p5dhbzgbdqqk5b8qzd7d-dart-3.4.2" + }, + "x86_64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/wbj1csi5fk2w99aiglwgg1mv406pw4pn-dart-3.4.2", + "default": true + } + ], + "store_path": "/nix/store/wbj1csi5fk2w99aiglwgg1mv406pw4pn-dart-3.4.2" + } + } + } + } +} diff --git a/examples/app-template/public/index.dart b/examples/app-template/public/index.dart new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/pubspec.yaml b/examples/app-template/pubspec.yaml new file mode 100644 index 0000000..c3aab90 --- /dev/null +++ b/examples/app-template/pubspec.yaml @@ -0,0 +1,28 @@ +name: app-template +description: An absolute bare-bones protevus app. +version: 1.0.0 +# repository: https://github.com/my_org/my_repo + +environment: + sdk: ^3.4.0 + +# Add regular dependencies here. +dependencies: + web: ^0.5.1 + +dev_dependencies: + build_runner: ^2.4.8 + build_web_compilers: ^4.0.9 + lints: ^3.0.0 + +# Override default source directory +source_directories: + - app + - bootstrap + - config + - database + - public + - resources + - routes + - storage + - tests \ No newline at end of file diff --git a/examples/app-template/resource/css/.gitkeep b/examples/app-template/resource/css/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/resource/js/.gitkeep b/examples/app-template/resource/js/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/resource/views/welcome.blade.dart b/examples/app-template/resource/views/welcome.blade.dart new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/routes/console.dart b/examples/app-template/routes/console.dart new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/routes/web.dart b/examples/app-template/routes/web.dart new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/storage/.gitkeep b/examples/app-template/storage/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/storage/app/.gitkeep b/examples/app-template/storage/app/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/storage/app/public/.gitkeep b/examples/app-template/storage/app/public/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/storage/framework/cache/.gitkeep b/examples/app-template/storage/framework/cache/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/storage/framework/cache/data/.gitkeep b/examples/app-template/storage/framework/cache/data/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/storage/framework/sessions/.gitkeep b/examples/app-template/storage/framework/sessions/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/storage/framework/testing/.gitkeep b/examples/app-template/storage/framework/testing/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/storage/framework/views/.gitkeep b/examples/app-template/storage/framework/views/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/examples/app-template/test/.gitkeep b/examples/app-template/test/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/melos.yaml b/melos.yaml index bad72f2..6aee386 100644 --- a/melos.yaml +++ b/melos.yaml @@ -2,6 +2,7 @@ name: protevus_platform repository: https://github.com/protevus/platform packages: - packages/** + - examples/** command: version: