Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/laviprog/pastes

PASTES is a project for creating and viewing posts, such as articles, tutorials, or notes, with the option to attach files.
https://github.com/laviprog/pastes

aws-s3 docker java jwt openapi postgresql s3-storage spring spring-boot spring-data-jpa spring-security

Last synced: 16 days ago
JSON representation

PASTES is a project for creating and viewing posts, such as articles, tutorials, or notes, with the option to attach files.

Awesome Lists containing this project

README

        

# PASTES

`PASTES` is a project for creating and viewing paste (posts), which can be small articles, training tutorials
or just notes, you can attach files to all this, which is always nice.

The server part of the project is presented in this repository. This is a REST API application that is implemented
using:

* `Java 21`
* `Spring`
* `PostgreSQL`
* `S3`
* `Docker`
* `JWT`

## Contents

* [**Getting started**](#getting-started)
* [**Running with Docker**](#running-with-docker)
* [**License**](#license)

## Getting started

### Step 1: Set Up Environment Variables

1. Fill in the environment variables in the [setenv.sh](setenv.sh) file.

2. Activate environment variables by running [setenv.sh](setenv.sh) file:

```bash
source setenv.sh
```

### Step 2: Build Application

```bash
mvn clean package
```

### Step 3: Run Application

```bash
mvn spring-boot:run
```

If you have selected port 8080, the application will be available at http://localhost:8080.

The OpenAPI documentation will be available at http://localhost:8080/swagger-ui/index.html.

## Running with Docker

### Step 1: Build Application

```bash
mvn clean package
```

### Step 2: Start with Docker Compose

```bash
docker-compose up --build
```

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.