The Protevus Platform: Unified Full-Stack Development https://protevus.com
Find a file
2024-10-27 22:55:11 -07:00
.devcontainer add: adding support for using devcontainers 2024-10-17 19:11:22 -07:00
.forgejo add: adding support for forgejo scm 2024-07-29 10:01:45 -07:00
.github add: adding project structure 2024-06-09 19:25:12 -07:00
.melos add: adding support for creating dart/flutter packages 2024-10-27 22:54:30 -07:00
.prompts update(angel3): re-branding angel3 2024-09-23 13:35:32 -07:00
.vscode remove: deleting old artifacts cleaning .vscode dir 2024-07-14 21:16:51 -07:00
apps add: adding support for building apps in the monorepo 2024-10-27 22:53:50 -07:00
config add: adding project structure 2024-06-09 19:25:12 -07:00
devops add: adding support for devops stratagies 2024-10-17 19:14:46 -07:00
docs breaking: completed addition of melos based config and build system 2024-10-20 20:18:25 -07:00
examples refactor: added template/ moved app-template here 2024-10-17 19:18:06 -07:00
helpers add: adding support for creating dart/flutter packages 2024-10-27 22:54:30 -07:00
packages update: updating dependencies 2024-10-27 15:17:26 -07:00
resources add: adding readme to folder 2024-10-17 19:16:10 -07:00
scripts add: adding support for creating dart/flutter packages 2024-10-27 22:54:30 -07:00
templates refactor: added template/ moved app-template here 2024-10-17 19:18:06 -07:00
tests refactor: renamed test to tests 2024-10-17 19:18:49 -07:00
.continueignore add: adding support for melos 2024-07-07 21:34:07 -07:00
.continuerc.json update(angel3): re-branding angel3 2024-09-23 13:35:32 -07:00
.continuerules add: adding support for custom after prompts 2024-10-27 22:55:11 -07:00
.editorconfig add: adding project structure 2024-06-09 19:25:12 -07:00
.fork update: updating fork information 2024-10-20 11:47:29 -07:00
.gitattributes add: adding project structure 2024-06-09 19:25:12 -07:00
.gitignore update: updating dependencies 2024-10-27 15:17:26 -07:00
.pubignore add: adding ignore file for pub.dev 2024-10-17 19:12:18 -07:00
analysis_options.yaml add: adding lint options 2024-06-09 19:29:13 -07:00
AUTHORS.md update: updating authors 2024-06-25 12:59:35 -07:00
CHANGELOG.md add: adding project structure 2024-06-09 19:25:12 -07:00
CODE_OF_CONDUCT.md add: adding and updating draft documents 2024-06-25 12:40:04 -07:00
CONTRIBUTING.md add: adding and updating draft documents 2024-06-25 12:40:04 -07:00
devbox.json update: deleting PHP from devbox 2024-07-07 01:05:07 -07:00
devbox.lock update: deleting PHP from devbox 2024-07-07 01:05:07 -07:00
LICENSE update: updating license 2024-06-21 22:06:40 -07:00
melos.yaml add: adding support for creating dart/flutter packages 2024-10-27 22:54:30 -07:00
pubspec.lock update: updating dependencies 2024-10-27 15:17:26 -07:00
pubspec.yaml update: updating dependencies 2024-10-27 15:17:26 -07:00
README.md update: updating readme to more align with project 2024-10-20 12:08:10 -07:00
SECURITY.md add: adding and updating draft documents 2024-06-25 12:40:04 -07:00

Protevus Platform

Protevus Platform is a highly versatile and extensible application server platform for the Dart programming language. It is a hard fork of the Angel3 core, inspired by Express.js and Laravel, aiming to provide a familiar and Laravel-compatible API while leveraging the power of Dart.

Note: This repository contains the core code of the Protevus Platform. If you want to build an application using Protevus, visit the main Protevus repository.

About Protevus

Protevus Platform allows developers to leverage their existing Laravel knowledge and experience in the Dart ecosystem. It combines the best features of Angel3 with Laravel-inspired design patterns and APIs, creating a powerful and familiar environment for web application development.

AI Assistance

The Protevus Platform project utilizes AI assistance in various aspects of its development process. We believe in leveraging the capabilities of AI to enhance productivity, code quality, and overall project progress while maintaining transparency and adhering to ethical practices.

AI Tools and Models

The following AI tools and models have been primarily employed in the development of the Protevus Platform:

  • Cursor (cursor.com)
  • Continue (continue.dev)
  • OpenRouter (openrouter.ai)
  • Claude (claude.ai)
  • Codestral (mistral.ai)
  • Voyage (voyage.ai)
  • Other tools and LLMs

Guidelines and Limitations

While AI assistance has been invaluable in accelerating certain aspects of development, we adhere to strict guidelines to ensure quality, security, and ethical use of AI in our development process.

Features

  • Laravel API Compatibility: Familiar API for Laravel developers
  • Modular Architecture: Separating core components and libraries
  • High Performance: Leverages Dart's efficient event-driven model and isolates for concurrent processing.
  • Asynchronous Processing: Built on Dart's async-await paradigm for non-blocking operations.
  • Extensibility: Support for custom extensions
  • Community-Driven: Open-source principles and community contributions
  • Modular Packages: Standalone Dart packages for each component
  • Comprehensive Routing: Powerful routing capabilities
  • Dependency Injection: Built-in support
  • Middleware Support: For filtering HTTP requests
  • Authentication & Authorization: Robust tools
  • Database Abstraction: Query builder and ORM
  • Queueing System: Manage background tasks
  • Event Broadcasting: Real-time event capabilities
  • Full-Stack Experience: Server-side views and Flutter support for frontends
  • WebSocket Support: Real-time communication
  • ORM and Database Integration: Work with various database systems
  • Templating Engine: For server-side rendering
  • Static File Serving: Built-in middleware
  • Scalability: Designed to handle multiple concurrent connections efficiently.
  • Testing Utilities: Comprehensive testing support

Getting Started

To get started with Protevus Platform, follow these steps:

  1. Install Dart: Ensure you have the Dart SDK installed on your system.

  2. Create a new project:

    • dart create -t console my_protevus_app cd
    • my_protevus_app
  3. Add Protevus dependencies: Add the following to your pubspec.yaml:

dependencies:
  protevus_core: ^1.0.0
  protevus_configuration: ^1.0.0
  1. Run pub get:
dart pub get
  1. Create your first Protevus application: Replace the contents of bin/my_protevus_app.dart with:
import 'package:protevus_core/protevus_core.dart';
import 'package:protevus_core/http.dart';

void main() async {
  var app = Protevus();
  var http = ProtevusHttp(app);

  app.get('/', (req, res) => res.write('Hello, Protevus!'));

  await http.startServer('localhost', 3000);
  print('Server listening at http://localhost:3000');
}
  1. Run your application:
dart run bin/my_protevus_app.dart

Visit http://localhost:3000 in your browser to see your Protevus app in action!

Documentation

Comprehensive documentation for Protevus Platform is available at protevus.com/docs/platform. The documentation covers installation, configuration, usage, and advanced topics, including guides and examples.

Plugins and Packages

Protevus Platform offers a wide range of official plugins and packages to extend its functionality, building upon the Angel3 ecosystem and introducing new Laravel-inspired components.

Community and Support

GitHub Discussions: github.com/protevus/platform/discussions Twitter: @Protevus Contributing We welcome contributions from the community! Please read our CONTRIBUTING.md for guidelines on how to contribute to Protevus Platform.

License

Protevus Platform is open-source software licensed under the MIT license.

Acknowledgements

Protevus Platform is built upon the foundation of Angel3 and inspired by Laravel. We'd like to thank the creators and contributors of both these frameworks for their invaluable work in the web development ecosystem.