56 releases (7 breaking)

0.8.0 Sep 21, 2022
0.6.8 Jul 16, 2022

#2305 in Web programming

Apache-2.0

83KB
2.5K SLoC

ZAPP

Follow @EpicsDAO2

Zapp

Rust Serverless Framework

The Zapp project was launched with the goal of reducing software development, operation and maintenance costs.

Build Serverless Apps faster. Powered by Rust, Aysnc-GraphQL, SeaORM, Axum, and Google Cloud.

  • Focus on business logic in serverless environment
  • Maximize development efficiency with CI / CD standard schema-driven Scaffold
  • Achieve global scale with lower management costs

Dependency

Cloud Infrastructure

Document

Installation

$ cargo install zapp
$ zapp --help
zapp 0.5.6
EpicsDAO
Rust Serverless Framework

USAGE:
    zapp <SUBCOMMAND>

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

SUBCOMMANDS:
    compute    
    db         
    docker     
    g          
    gcloud     
    gh         
    help       Print this message or the help of the given subcommand(s)
    iam        
    init       
    new        
    run        
    sql        

QuickStart

Create your application with zapp CLI.

$ zapp new YOURAPP

  ███████╗ █████╗ ██████╗ ██████╗ 
  ╚══███╔╝██╔══██╗██╔══██╗██╔══██╗
    ███╔╝ ███████║██████╔╝██████╔╝
   ███╔╝  ██╔══██║██╔═══╝ ██╔═══╝ 
  ███████╗██║  ██║██║     ██║     
  ╚══════╝╚═╝  ╚═╝╚═╝     ╚═╝     
💃 💃 💃 💃 💃 💃 💃 💃 💃 💃 💃 💃 
Rust Serverless Framework
$ cd YOURAPP
$ zapp docker psql
$ cargo run

Go to : http://localhost:3000/api/graphql

Create Docker PostgreSQL

$ zapp docker psql
 PostgreSQL Container Created: 4619cfc047f3cad6c9db8d255aff841fbfe34bbef0e2661fa3a02db5d5ec5d91

Run GraphQL Local Server

$ cargo run

Now go to

http://localhost:3000/api/graphql

GraphQL Mutation/Query Scaffold

Create Model

$ zapp g model user
 Successfully created migration file: migration/src/m20220613_102512_create_user_table.rs
 Successfully added route to `migration/src/lib.rs`
 Successfully created entity file: entity/src/user.rs
 Successfully created mutation file: src/graphql/mutation/user.rs
 Successfully created query file: src/graphql/query/user.rs
 Successfully added route to `entity/src/lib.rs`
 Successfully added mutation route: src/graphql/mutation/mod.rs
 Successfully added mutation route: src/graphql/query/mod.rs

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/EpicsDao/zapp. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

License

The gem is available as open source under the terms of the Apache-2.0 License.

Code of Conduct

Everyone interacting in the EpicsDAO project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.

Dependencies

~8–17MB
~230K SLoC