Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/alexgalhardo/api.monefy.alexgalhardo.com

REST API using ElysiaJS, Bun, PrismaORM, Docker, PostgreSQL, JSON and Redis Database, RabbitMQ, Integration Tests, Github Actions, Husky, Swagger API Documentation, etc
https://github.com/alexgalhardo/api.monefy.alexgalhardo.com

api-rest bun docker elysiajs github-actions husky postgresql prisma-orm rabbitmq redis swagger typescript

Last synced: 16 days ago
JSON representation

REST API using ElysiaJS, Bun, PrismaORM, Docker, PostgreSQL, JSON and Redis Database, RabbitMQ, Integration Tests, Github Actions, Husky, Swagger API Documentation, etc

Awesome Lists containing this project

README

        

api.monefy.alexgalhardo.com

## Introduction

- API source code using Bun and ElysiaJS
- Front End Source Code:
- Front End Live:
- Swagger API Documentation live:

## Development Setup Local

- Prerequisites:
- Install Docker & docker-compose:
- Install Bun:

- To see RabbitMQ Management UI, go to: http://localhost:15672
- Username: guest
- Password: guest

- To see Redis Commander UI, go to: http://localhost:8082

1. Clone repository
```bash
git clone [email protected]:AlexGalhardo/api-money-manager.alexgalhardo.com.git
```

2. Create `.env` file
```bash
cp .env.example .env
```
- Dont forget to setup your credentials in `.env` file

3. Install dependencies, create migrations & seeds, up docker containers and server
```bash
chmod +x setup.sh && ./setup.sh
```

## Build to single-file executable

- Reference:

a. Building Server
```bash
bun build --compile --minify ./src/server.ts --outfile server
```

b. Building Client
```bash
bun build --compile --minify ./src/client.ts --outfile client
```

c. Building all
```bash
bun run build
```

Executing binaries
```bash
./server
```

```bash
./client
```

## Tests

a. Running integration tests
```bash
bun run test:integration
```

## License

[MIT](http://opensource.org/licenses/MIT)

Copyright (c) April 2024-present, [Alex Galhardo](https://github.com/AlexGalhardo)