Commit 04aa1f93 authored by Nathan Harris's avatar Nathan Harris

Polish project documents

Motivation:

To give a better first impression, and providing more comprehensive information for first time viewers, the README file needed reworking.

Modifications:

- Add a CHANGELOG file that at least redirects readers to the releases page of GitLab
- Update the CONTRIBUTORS list
- Change project README to have more information, flow better, and to have a better "first impression"

Result:

The README should give a stronger indication into the project's health.
parent f2df3460
Pipeline #70017012 passed with stages
in 5 minutes and 14 seconds
Nathan Harris <nathan@mordil.info> <Mordil@users.noreply.github.com>
Nathan Harris <nathan@mordil.info> <nathan.harris@globant.com>
Nathan Harris <nathan@mordil.info> <2nd.lt.harris@gmail.com>
[SemVer](https://semver.org/) changes are documented for each release on the [releases page](https://gitlab.com/Mordil/swift-redi-stack/-/releases).
......@@ -14,8 +14,26 @@ Please ensure to specify the following:
* For example, are you running in Docker? How are you connecting to it through Docker? What version of Docker?
* OS version and output of `uname -a`
* Swift version or output of `swift --version`
## Development
### Git Workflow
`master` is always the development branch.
For **minor** or **patch** SemVer changes, create a branch off of the tagged commit.
### Environment Setup
It is highly recommended to use [Docker](https://docker.com) to install Redis locally.
```bash
docker run -d -p 6379:6379 --name redis redis:5
```
Otherwise, install Redis directly on your machine from [Redis.io](https://redis.io/download).
## Submitting a Pull Request
### Submitting a Pull Request
A great PR that is likely to be merged quickly is:
......
......@@ -10,6 +10,7 @@ needs to be listed here.
### Contributors
- Nathan Harris <nathan@mordil.info>
- Ondrej Rafaj <ondrej.rafaj@gmail.com>
- tanner0101 <me@tanner.xyz>
**Updating this list**
......
| The [GitHub repository](https://github.com/Mordil/swift-redis-nio-client) is a **read-only** mirror of the GitLab repository. For issues and merge requests, [please visit GitLab](https://gitlab.com/mordil/swift-redis-nio-client). |
|---|
<div align="center">
<p><img src="https://gitlab.com/Mordil/swift-redi-stack/wikis/uploads/cb4c517e40bd2f5ab796f1093efbd697/RediStack_social-preview_transparent.png" width="350" alt="RediStack logo"></p>
[![License](https://img.shields.io/badge/License-Apache%202.0-yellow.svg)](./LICENSE.txt)
[![Build](https://gitlab.com/Mordil/swift-redis-nio-client/badges/master/pipeline.svg)](https://gitlab.com/Mordil/swift-redis-nio-client/pipelines)
[![Swift](https://img.shields.io/badge/Swift-5.0-brightgreen.svg?colorA=orange&colorB=4E4E4E)](https://swift.org)
[![Redis](https://img.shields.io/badge/Redis-5-brightgreen.svg?colorA=red&colorB=4E4E4E)](https://redis.io/download)
<p>
<a href="https://gitlab.com/Mordil/swift-redis-nio-client/pipelines"><img src="https://gitlab.com/Mordil/swift-redis-nio-client/badges/master/pipeline.svg" alt="Build Status"></a>
<a href="https://github.com/swift-server/sswg/blob/master/process/incubation.md#sandbox-level"><img src="https://img.shields.io/badge/sswg-sandbox-lightgrey.svg" alt="SSWG Maturity"></a>
<a href="https://gitlab.com/Mordil/swift-redi-stack/blob/master/LICENSE.txt"><img src="https://img.shields.io/badge/License-Apache%202.0-yellow.svg" alt="Apache 2 License"></a>
<a href="https://swift.org"><img src="https://img.shields.io/badge/Swift-5.0+-orange.svg" alt="Swift 5.0+"></a>
<a href="https://redis.io"><img src="https://img.shields.io/badge/Redis-5.0+-red.svg" alt="Redis 5.0+"></a>
</p>
</div>
# Swift RediStack
<table><thead><tr align="center"><th width="9999">
The <a href="https://github.com/Mordil/swift-redi-stack" rel="nofollow noreferrer noopener" target="_blank">GitHub repository</a> is a <b>read-only</b> mirror of the GitLab repository. For issues and merge requests, <a href="https://gitlab.com/mordil/swift-redi-stack" rel="nofollow noreferrer noopener" target="_blank">please visit GitLab</a>.
</th></tr></thead></table>
A non-blocking Swift client for [Redis](https://redis.io/) built on top of [SwiftNIO](https://github.com/apple/swift-nio).
## Introduction
This package defines everything you need to work with Redis through the [**Re**dis **S**eralization **P**rotocol (RESP)](https://redis.io/topics/protocol).
**RediStack** (pronounced like "ready stack") is a _non-blocking_ Swift client for [Redis](https://redis.io) built on top of [SwiftNIO](https://github.com/apple/swift-nio).
**RediStack** is part of the [Swift on Server Working Group](https://github.com/swift-server/sswg) ecosystem.
It communicates over the network using Redis' [**Re**dis **S**eralization **P**rotocol (RESP2)](https://redis.io/topics/protocol).
| Proposal | Pitch | Discussion | Review | Vote |
|----------|-------|------------|--------|------|
| [SSWG-0004](https://github.com/swift-server/sswg/blob/master/proposals/0004-nio-redis.md) | [2019-01-07](https://forums.swift.org/t/swiftnio-redis-client/19325) | [2019-04-01](https://forums.swift.org/t/discussion-nioredis-nio-based-redis-driver/22455) | [2019-06-09](https://forums.swift.org/t/feedback-redisnio-a-nio-based-redis-driver/25521) | [2019-06-27](https://forums.swift.org/t/june-27th-2019/26580) |
The table below lists the major releases alongside their compatible language, dependency, and Redis versions.
| SPM Version | [Swift](https://swift.org/download) | [Redis](https://redis.io) | [SwiftNIO](https://github.com/apple/swift-nio) | [SwiftLog](https://github.com/apple/swift-log) | [SwiftMetrics](https://github.com/apple/swift-metrics) |
|:---:|:---:|:---:|:---:|:---:|:---:|
| `from: "1.0.0-alpha.5"` | 5.0+ | 5.0+ | 2.x | 1.x | 1.x |
### Supported Operating Systems
**RediStack** runs anywhere that is officially supported by the [Swift project](https://swift.org/download/#releases). See the [test matrix below for more details](#language-and-platform-test-matrix).
## :package: Installation
## Installing
To install **RediStack**, just add the package as a dependency in your [**Package.swift**](https://github.com/apple/swift-package-manager/blob/master/Documentation/PackageDescriptionV4.md#dependencies)
To install **RediStack**, just add the package as a dependency in your **Package.swift**.
```swift
dependencies: [
.package(url: "https://github.com/Mordil/swift-redis-nio-client.git", from: "1.0.0-alpha.4")
.package(url: "https://gitlab.com/mordil/swift-redi-stack.git", from: "1.0.0-alpha.5")
]
```
and run the following command: `swift package resolve`
## :zap: Getting Started
## Getting Started
**RediStack** is quick to use - all you need is an [`EventLoop`](https://apple.github.io/swift-nio/docs/current/NIO/Protocols/EventLoop.html) from **SwiftNIO**.
......@@ -51,20 +61,51 @@ let result = try connection.set("my_key", to: "some value")
print(result) // Optional("some value")
```
## :closed_book: Documentation
> _**Note**: Use of `wait()` was used here for simplicity. Never call this method on an `eventLoop`!_
## Documentation
The docs for the latest tagged release are always available at https://mordil.gitlab.io/swift-redi-stack.
API Documentation is generated every time a new release is published.
## Changelog
The latest version's docs are always available at https://mordil.gitlab.io/swift-redis-nio-client
[SemVer](https://semver.org/) changes are documented for each release on the [releases page](https://gitlab.com/Mordil/swift-redi-stack/-/releases).
## :construction: Contributing
## Contributing
Check out [CONTRIBUTING.md](CONTRIBUTING.md) for more information on how to help with **RediStack**.
It is highly recommended to use [Docker](https://docker.com) to install Redis locally.
## Contributors
```bash
docker run -d -p 6379:6379 --name redis redis:5
```
Check out [CONTRIBUTORS.txt](CONTRIBUTORS.txt) to see the full list. This list is updated for each release.
## Swift on Server Ecosystem
**RediStack** is part of the [Swift on Server Working Group](https://github.com/swift-server/sswg) ecosystem - currently recommended as [**Sandbox Maturity**](https://github.com/swift-server/sswg/blob/master/process/incubation.md#sandbox-level).
| Proposal | Pitch | Discussion | Review | Vote |
|----------|-------|------------|--------|------|
| [SSWG-0004](https://github.com/swift-server/sswg/blob/master/proposals/0004-nio-redis.md) | [2019-01-07](https://forums.swift.org/t/swiftnio-redis-client/19325) | [2019-04-01](https://forums.swift.org/t/discussion-nioredis-nio-based-redis-driver/22455) | [2019-06-09](https://forums.swift.org/t/feedback-redisnio-a-nio-based-redis-driver/25521) | [2019-06-27](https://forums.swift.org/t/june-27th-2019/26580) |
## Language and Platform Test Matrix
The following table shows the combination of Swift language versions and operating systems that
receive regular unit testing (either in development, or with CI).
| Swift Version | macOS Mojave | Ubuntu 16.04 (Xenial) | Ubuntu 18.04 (Bionic) |
|---|:---:|:---:|:---:|
| 5.0 | X | X | X |
| 5.1 | X | X | |
| Trunk | X | X | |
## License
[Apache 2.0](./LICENSE.txt)
Copyright (c) 2019-present, Nathan Harris (@mordil)
_This project contains code written by others not affliated with this project. All copyright claims are reserved by them. For a full list, with their claimed rights, see [NOTICE.txt](./NOTICE.txt)_
_**Redis** is a registered trademark of **Redis Labs**. Any use of their trademark is under the established [trademark guidelines](https://redis.io/topics/trademark) and does not imply any affiliation with or endorsement by them, and all rights are reserved by them._
Otherwise, install Redis directly on your machine from [Redis.io](https://redis.io/download).
_**Swift** is a registered trademark of **Apple, Inc**. Any use of their trademark does not imply any affiliation with or endorsement by them, and all rights are reserved by them._
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment