Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dehwyy/mafuyu

❄️App without limitation.
https://github.com/dehwyy/mafuyu

caddy cli docker docker-compose golang grpc microservices nats oauth2 orm postgresql redis rust sentry svelte typescript

Last synced: about 2 months ago
JSON representation

❄️App without limitation.

Awesome Lists containing this project

README

        

#

MaFuYu ❄️

## Technologies:

- Rust
- Typescript
- Go
- SvelteKit
- gRPC (+web)
- NATS
- Docker
- Caddy
- Postgres
- [Redb](https://github.com/cberner/redb)
- Redis
- GORM
- SeaORM
- Sentry
- Tracing(Rust) + Zerolog(Go)
- Clap + Indicatif (CLI)

## Development:

There are features that work only with appropriate `env secrets`. They should be set, if you want to have these features enabled.

### Features:

- OAuth2 (`Github`, `Google`)
- Email confirmation via `Gmail`
- Telemetry (`Sentry`)

### CLI

Quick start:

```sh
# Init project: generate necessities
bun initp

# Run dev mode
bun cli dev
```

Development:

```sh
# Generate grpc files
bun cli grpc
# or more specific
bun grpc:rs # for Rust
bun grpc:go # for Go
bun grpc:ts # for Typescript

# Migrate db
task db:migrate
```

### Requirements:

- [Node.js (20+)](https://nodejs.org/en)
- [Rustc (1.76+)](https://www.rust-lang.org)
- [Bun](https://bun.sh/)
- [Go (1.21.2+)](https://go.dev/)
- [Docker](https://docs.docker.com/engine/)
- [Taskfile (3+)](https://taskfile.dev) (**_for `db` migrations_**)
- **Protobuf plugins for [Go](https://go.dev/) & [Typescript](https://www.typescriptlang.org/)** (maybe)

```sh
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
bun i -g @protobuf-ts/plugin
```