Skip to content

Commit

Permalink
docs: Improved & styled README.md (#53)
Browse files Browse the repository at this point in the history
* docs: Improved & styled README.md

* fix(docs): Fixed README to respect prettier

* fix(docs): README reformatted to lint rules
  • Loading branch information
unteifu authored Dec 22, 2024
1 parent 12c64d6 commit e361acd
Showing 1 changed file with 76 additions and 2 deletions.
78 changes: 76 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,77 @@
# End-to-end typesafe APIs builder, Developer-first simplicity
<div align="center">
<image align="center" src="https://i.ibb.co/rZw671M/New-Project-2.png" width=400 />
</div>

This project is still in heavy development, you can read the docs [here](https://orpc.unnoq.com).
<h1></h1>

<div align="center">

![NPM Downloads](https://img.shields.io/npm/dm/%40orpc/server?logo=npm)
![GitHub Release](https://img.shields.io/github/v/release/unnoq/orpc?logo=github)
![GitHub commit activity](https://img.shields.io/github/commit-activity/m/unnoq/orpc?logo=git&logoColor=%23fff)
![GitHub License](https://img.shields.io/github/license/unnoq/orpc)

</div>

<p align="center">End-to-end typesafe APIs built quicker & easier</p>

> [!NOTE]
> This project is still in heavy development, please be mindful of breaking changes.
**oRPC is a powerful combination of RPC and OpenAPI, offering an exceptional developer experience powered by TypeScript. It's designed to be simple and straightforward to use.**

---

## Features

- **Type-safe πŸ”’**: oRPC is built on top of TypeScript, which means you get full type safety out of the box.
- **Easy to use ✍️**: oRPC is designed to be simple and straightforward to use.
- **Contract first πŸ“**: Take advantage of a "contract first" approach to developing your API.
- **Built-in plugins πŸ”Œ**: Easily implement into your favourite frameworks.

---

## Documentation & Examples

You can find the full documentation & examples [here](https://orpc.unnoq.com).

---

## Packages

- `@orpc/contract`: Build your API contract.
- `@orpc/server`: Handle your contract on the server.
- `@orpc/client`: Consume your contract on the client.
- `@orpc/react`: React hooks for your client.
- `@orpc/react-query`: React Query wrapper for your client.
- `@orpc/vue-query`: Vue Query wrapper for your client.
- `@orpc/openapi`: Generate an OpenAPI spec from your contract.
- `@orpc/next`: Next.js API server handler.
- `@orpc/zod`: Specialised Zod schema types for your contract.

---

## Comparison

This comparison table helps you understand how oRPC differs from other popular TypeScript RPC and REST solutions.

- βœ… First-class, built-in support.
- 🟑 Lacks features, or requires third-party integrations.
- πŸ›‘ Not supported or not documented.

| Feature | oRPC | tRPC | ts-rest | Description |
| -------------------------- | ---- | ---- | ------- | -------------------------------------------------------- |
| End-to-end Type Safety | βœ… | βœ… | βœ… | Full TypeScript type inference from backend to frontend. |
| SSR Support | βœ… | βœ… | βœ… | Server-side rendering compatibility. |
| React Query Integration | βœ… | βœ… | 🟑 | Native support for React Query/TanStack Query. |
| Vue Query Integration | βœ… | πŸ›‘ | 🟑 | Native support for Vue Query/TanStack Query. |
| Contract-First Development | βœ… | πŸ›‘ | βœ… | API definitions before implementation. |
| File Operations | βœ… | 🟑 | 🟑 | Built-in support for file uploads/downloads. |
| OpenAPI Support | βœ… | 🟑 | 🟑 | Generation and consumption of OpenAPI specs. |
| Server Actions Support | βœ… | βœ… | πŸ›‘ | React/Next.js Actions compatibility. |

---

## License

Distributed under the MIT License. See [LICENSE](LICENSE) for more information.

0 comments on commit e361acd

Please sign in to comment.