update: updating readme to more align with project

This commit is contained in:
Patrick Stewart 2024-10-20 12:08:10 -07:00
parent 0681abdfee
commit 4af5bb16c1

132
README.md
View file

@ -1,10 +1,14 @@
<p align="center"><a href="https://protevus.com" target="_blank"><img src="https://git.protevus.com/protevus/branding/raw/branch/main/protevus-logo-bg.png"></a></p> <p align="center"><a href="https://protevus.com" target="_blank"><img src="https://git.protevus.com/protevus/branding/raw/branch/main/protevus-logo-bg.png"></a></p>
## About Protevus # 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](https://github.com/protevus/protevus). > **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](https://github.com/protevus/protevus).
Protevus Platform is a highly versatile and extensible application server platform for the Dart programming language. Inspired by the Laravel framework, Protevus aims to provide a familiar and Laravel-compatible API, allowing developers to leverage their existing Laravel knowledge and experience in the Dart ecosystem. ## 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 ## AI Assistance
@ -14,69 +18,97 @@ The Protevus Platform project utilizes AI assistance in various aspects of its d
The following AI tools and models have been primarily employed in the development of the Protevus Platform: The following AI tools and models have been primarily employed in the development of the Protevus Platform:
- **Continue** (continue.dev): An AI-powered Assistant that integrates with VS Code to provide intelligent code completions, context-aware suggestions, natural langauge understanding, and assistance during the coding process. It leverages multiple advanced machine learning models to understand the context of your code and offer relevant recommendations. - **Cursor** (cursor.com)
- **Continue** (continue.dev)
- **OpenRouter** (openrouter.ai): is a fully managed service that simplifies the integration of high-performing foundation models (FMs) into your applications. It provides a unified API that allows you to access a wide range of foundation models from leading LLM providers such as Mistral AI, Anthropic, Meta AI, Llama, OpenAI, and more. This enables us to easily switch between models and providers, allowing us to select the most suitable model for our specific use case. - **OpenRouter** (openrouter.ai)
- **Claude** (claude.ai)
- **Claude** (claude.ai): is an advanced large language model (LLM) developed by Anthropic that excels in understanding and generating human-like text. It is used to provide code generation, code navigation, and code documentation during development. We also use Claude to generate ideals, brainstorming and general project conversations for the Protevus Platform. - **Codestral** (mistral.ai)
- **Voyage** (voyage.ai)
- **Codestral** (mistral.ai): is a large language model (LLM) that is used to provide code completion, refactoring and validation. It is trained on a diverse dataset of code from various programming languages and is capable of understanding and generating code in multiple languages. - Other tools and LLMs
- **Voyage** (voyage.ai): is a powerful neural net model, or transformer, that is used to convert unstructured and complex data (documents, images, audios, videos, or tabular data) into dense numerical vectors called embeddings. These embeddings capture the semantic meanings and serve as essential building blocks for semantic search and retrieval-augmented generation (RAG), which is the predominant approach for building domain-specific or company-specific chatbots and other AI applications. Voyage also offers Rerankers, specialized neural networks that assess the relevance between a query and multiple documents, enhancing the ranking and retrieval process to deliver highly relevant and contextually appropriate results.
- **Other Tools**: We also use other tools and LLM's in our workflow, leveraging their unique capabilities to enhance the development process.
### Guidelines and Limitations ### Guidelines and Limitations
While AI assistance has been invaluable in accelerating certain aspects of development, it is important to note the following 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.
- All code generated or modified with the help of AI tools undergoes thorough manual review, testing, and validation by the project's core team to ensure quality, security, and adherence to project standards.
- AI-generated code is treated as a starting point or reference, and human developers are responsible for understanding, modifying, and maintaining the codebase.
- Sensitive or confidential information is never shared with AI models, and appropriate measures are taken to protect intellectual property and data privacy.
- The project's core team retains full ownership and responsibility for the codebase and its development.
We believe in the responsible and ethical use of AI assistance and are committed to fostering an open and transparent development process. If you have any questions or concerns regarding the use of AI in the Protevus Platform project, please feel free to reach out to the project maintainers.
## Features ## Features
- **Laravel API Compatibility**: Protevus Platform offers a high degree of compatibility with the Laravel API, enabling developers to seamlessly transition from Laravel to the Dart ecosystem. - **Laravel API Compatibility**: Familiar API for Laravel developers
- **Modular Architecture**: The platform follows a modular design, separating core components and libraries from specific application implementations, promoting reusability and maintainability. - **Modular Architecture**: Separating core components and libraries
- **High Performance**: Built on top of the multi-threaded Conduit API, Protevus Platform delivers exceptional performance and scalability for demanding applications. - **High Performance**: Leverages Dart's efficient event-driven model and isolates for concurrent processing.
- **Extensibility**: With its modular architecture and support for custom extensions, Protevus Platform can be tailored to meet diverse project requirements. - **Asynchronous Processing**: Built on Dart's async-await paradigm for non-blocking operations.
- **Community-Driven**: Protevus Platform embraces open-source principles and encourages community contributions, fostering collaboration and knowledge sharing. - **Extensibility**: Support for custom extensions
- **Modular Packages**: Each Illuminate component is available as a standalone Dart package. - **Community-Driven**: Open-source principles and community contributions
- **Comprehensive Routing**: Powerful routing capabilities inspired by Laravel. - **Modular Packages**: Standalone Dart packages for each component
- **Dependency Injection**: Built-in support for dependency injection to promote loose coupling. - **Comprehensive Routing**: Powerful routing capabilities
- **Middleware Support**: Use middleware for filtering HTTP requests entering your application. - **Dependency Injection**: Built-in support
- **Authentication & Authorization**: Robust tools for user authentication and authorization. - **Middleware Support**: For filtering HTTP requests
- **Database Abstraction**: Database-agnostic query builder and ORM. - **Authentication & Authorization**: Robust tools
- **Queueing System**: Manage background tasks and queues. - **Database Abstraction**: Query builder and ORM
- **Event Broadcasting**: Real-time event broadcasting for modern applications. - **Queueing System**: Manage background tasks
- **Full-Stack Experience**: Protevus Platform offers a complete full-stack development experience, including backend development with server-side views and the ability to build cross-platform frontends using Flutter. - **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 ## Getting Started
To get started with Protevus Platform, follow these steps: To get started with Protevus Platform, follow these steps:
1. **Install Dependencies**: Ensure you have the Dart SDK and the necessary dependencies installed on your system. 1. **Install Dart**: Ensure you have the Dart SDK installed on your system.
2. **Clone the Repository**: Clone the Protevus Platform repository to your local machine.
3. **Build and Run**: Follow the instructions in the repository's documentation to build and run the platform. 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`:
```yaml
dependencies:
protevus_core: ^1.0.0
protevus_configuration: ^1.0.0
```
4. **Run pub get**:
```shell
dart pub get
```
5. **Create your first Protevus application**: Replace the contents of bin/my_protevus_app.dart with:
```dart
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');
}
```
6. **Run your application**:
```shell
dart run bin/my_protevus_app.dart
```
Visit http://localhost:3000 in your browser to see your Protevus app in action!
## Documentation ## 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.
Comprehensive documentation for Protevus Platform is available at [protevus.com/docs/platform](https://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.
## Contributing ## Community and Support
GitHub Discussions: github.com/protevus/platform/discussions
We welcome contributions from the community! If you'd like to contribute to Protevus Platform, please follow the guidelines outlined in the [CONTRIBUTING.md](CONTRIBUTING.md) file. Twitter: @Protevus
Contributing
We welcome contributions from the community! Please read our CONTRIBUTING.md for guidelines on how to contribute to Protevus Platform.
## License ## License
Protevus Platform is open-source software licensed under the MIT license.
Protevus Platform is released under the [MIT License](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.
## Support and Community
If you have any questions, issues, or suggestions, please join our community:
- **GitHub Discussions**: [github.com/protevus/platform/discussions](https://github.com/protevus/platform/discussions)
- **Twitter**: [@Protevus](https://twitter.com/Protevus)