✨ Add SeaORM integration for database access
This commit is contained in:
parent
b2b0d8bd3e
commit
3160a9e8dc
18 changed files with 3587 additions and 14 deletions
127
packages/pagetop-seaorm/README.md
Normal file
127
packages/pagetop-seaorm/README.md
Normal file
|
|
@ -0,0 +1,127 @@
|
|||
<div align="center">
|
||||
|
||||
<img src="https://raw.githubusercontent.com/manuelcillero/pagetop/main/static/banner.png" />
|
||||
|
||||
<h1>PageTop</h1>
|
||||
|
||||
<p>An opinionated web framework to build modular <em>Server-Side Rendering</em> web solutions.</p>
|
||||
|
||||
[](#-license)
|
||||
[](https://docs.rs/pagetop)
|
||||
[](https://crates.io/crates/pagetop)
|
||||
[](https://crates.io/crates/pagetop)
|
||||
|
||||
</div>
|
||||
|
||||
## Overview
|
||||
|
||||
The PageTop core API provides a comprehensive toolkit for extending its functionalities to specific
|
||||
requirements and application scenarios through actions, components, packages, and themes:
|
||||
|
||||
* **Actions** serve as a mechanism to customize PageTop's internal behavior by intercepting its
|
||||
execution flow.
|
||||
* **Components** encapsulate HTML, CSS, and JavaScript into functional, configurable, and
|
||||
well-defined units.
|
||||
* **Packages** extend or customize existing functionality by interacting with PageTop APIs or
|
||||
third-party package APIs.
|
||||
* **Themes** enable developers to alter the appearance of pages and components without affecting
|
||||
their functionality.
|
||||
|
||||
|
||||
# ⚡️ Quick start
|
||||
|
||||
```rust
|
||||
use pagetop::prelude::*;
|
||||
|
||||
struct HelloWorld;
|
||||
|
||||
impl PackageTrait for HelloWorld {
|
||||
fn configure_service(&self, scfg: &mut service::web::ServiceConfig) {
|
||||
scfg.route("/", service::web::get().to(hello_world));
|
||||
}
|
||||
}
|
||||
|
||||
async fn hello_world(request: HttpRequest) -> ResultPage<Markup, ErrorPage> {
|
||||
Page::new(request)
|
||||
.with_component(Html::with(html! { h1 { "Hello World!" } }))
|
||||
.render()
|
||||
}
|
||||
|
||||
#[pagetop::main]
|
||||
async fn main() -> std::io::Result<()> {
|
||||
Application::prepare(&HelloWorld).run()?.await
|
||||
}
|
||||
```
|
||||
|
||||
This program features a `HelloWorld` package, providing a service that serves a greeting web page
|
||||
accessible via `http://localhost:8088` under default settings.
|
||||
|
||||
|
||||
# 📂 Repository Structure
|
||||
|
||||
This repository is organized into a workspace that includes several subprojects, each serving a
|
||||
distinct role within the PageTop ecosystem:
|
||||
|
||||
## Application
|
||||
|
||||
* [drust](https://github.com/manuelcillero/pagetop/tree/latest/drust):
|
||||
A simple Content Management System (CMS) built on PageTop, which enables the creation, editing,
|
||||
and maintenance of dynamic, fast, and modular websites. It uses the following essential packages
|
||||
to provide standard CMS functionalities.
|
||||
|
||||
## Helpers
|
||||
|
||||
* [pagetop-macros](https://github.com/manuelcillero/pagetop/tree/latest/helpers/pagetop-macros):
|
||||
A collection of procedural macros that enhance the development experience within PageTop.
|
||||
|
||||
* [pagetop-build](https://github.com/manuelcillero/pagetop/tree/latest/helpers/pagetop-build):
|
||||
Simplifies the process of embedding resources directly into binary files for PageTop applications.
|
||||
|
||||
## Packages
|
||||
|
||||
* [pagetop-user](https://github.com/manuelcillero/pagetop/tree/latest/packages/pagetop-user):
|
||||
Facilitates user management, including roles, permissions, and session handling, for applications
|
||||
built on PageTop.
|
||||
|
||||
* [pagetop-admin](https://github.com/manuelcillero/pagetop/tree/latest/packages/pagetop-admin):
|
||||
Provides a unified interface for administrators to configure and manage package settings.
|
||||
|
||||
* [pagetop-node](https://github.com/manuelcillero/pagetop/tree/latest/packages/pagetop-node):
|
||||
Enables the creation and customization of content types, enhancing website content management.
|
||||
|
||||
## Themes
|
||||
|
||||
* [pagetop-bootsier](https://github.com/manuelcillero/pagetop/tree/latest/packages/pagetop-bootsier):
|
||||
Utilizes the *[Bootstrap](https://getbootstrap.com/)* framework to offer versatile page layouts
|
||||
and component stylings.
|
||||
|
||||
* [pagetop-bulmix](https://github.com/manuelcillero/pagetop/tree/latest/packages/pagetop-bulmix):
|
||||
Utilizes the *[Bulma](https://bulma.io/)* framework for sleek, responsive design elements.
|
||||
|
||||
|
||||
# 🚧 Warning
|
||||
|
||||
**PageTop** framework is currently in active development. The API is unstable and subject to
|
||||
frequent changes. Production use is not recommended until version **0.1.0**.
|
||||
|
||||
|
||||
# 📜 License
|
||||
|
||||
PageTop is free, open source and permissively licensed! Except where noted (below and/or in
|
||||
individual files), all code in this project is dual-licensed under either:
|
||||
|
||||
* MIT License
|
||||
([LICENSE-MIT](LICENSE-MIT) or https://opensource.org/licenses/MIT)
|
||||
|
||||
* Apache License, Version 2.0,
|
||||
([LICENSE-APACHE](LICENSE-APACHE) or https://www.apache.org/licenses/LICENSE-2.0)
|
||||
|
||||
at your option. This means you can select the license you prefer! This dual-licensing approach is
|
||||
the de-facto standard in the Rust ecosystem.
|
||||
|
||||
|
||||
# ✨ Contributions
|
||||
|
||||
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the
|
||||
work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any
|
||||
additional terms or conditions.
|
||||
Loading…
Add table
Add a link
Reference in a new issue