Skip to content

Added roadmap #939

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 4, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 9 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,11 @@ These are some steps you can take to help you understand what this project is an

- [What is JSON:API and why should I use it?](https://nordicapis.com/the-benefits-of-using-json-api/)
- [The JSON:API specification](http://jsonapi.org/format/)
- [Demo [Video]](https://youtu.be/KAMuo6K7VcE)
- [Our documentation](https://json-api-dotnet.github.io/JsonApiDotNetCore/)
- Demo [Video](https://youtu.be/KAMuo6K7VcE), [Blog](https://dev.to/wunki/getting-started-5dkl)
- [Our documentation](https://www.jsonapi.net/)
- [Check out the example projects](https://github.com/json-api-dotnet/JsonApiDotNetCore/tree/master/src/Examples)
- [Embercasts: Full Stack Ember with ASP.NET Core](https://www.embercasts.com/course/full-stack-ember-with-dotnet/watch/whats-in-this-course-cs)
- [Roadmap](ROADMAP.md)

## Related Projects

Expand All @@ -35,9 +36,9 @@ These are some steps you can take to help you understand what this project is an

See the [examples](https://github.com/json-api-dotnet/JsonApiDotNetCore/tree/master/src/Examples) directory for up-to-date sample applications. There is also a [Todo List App](https://github.com/json-api-dotnet/TodoListExample) that includes a JADNC API and an EmberJs client.

## Installation And Usage
## Installation and Usage

See [our documentation](https://json-api-dotnet.github.io/JsonApiDotNetCore/) for detailed usage.
See [our documentation](https://www.jsonapi.net/) for detailed usage.

### Models

Expand Down Expand Up @@ -81,15 +82,15 @@ public class Startup
}
```

### Development
## Development

Restore all NuGet packages with:

```bash
dotnet restore
```

#### Testing
### Testing

Running tests locally requires access to a PostgreSQL database. If you have docker installed, this can be propped up via:

Expand All @@ -103,7 +104,7 @@ And then to run the tests:
dotnet test
```

#### Compiler warnings
### Compiler warnings

The `Release` build configuration is set to fail on warnings. That means when submitting a PR there shouldn't be any compiler warnings because the CI build it set to `Release`.

Expand All @@ -117,7 +118,7 @@ A lot of changes were introduced in v4, the following chart should help you with
| 3.x | 3.x, 5.x | v4.x |
| 5.x | 5.x | v4.x |

## Trying out the latest build
### Trying out the latest build

After each commit, a new prerelease NuGet package is automatically published to AppVeyor at https://ci.appveyor.com/nuget/jsonapidotnetcore. To try it out, follow the next steps:

Expand Down
38 changes: 38 additions & 0 deletions ROADMAP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# JsonApiDotNetCore roadmap

This document provides an overview of the direction this project is heading and lists what we intend to work on in the near future.

> Disclaimer: This is an open source project. The available time of our contributors varies and therefore we do not plan release dates. This document expresses our current intent, which may change over time.

## v4.x
In December 2020, we released v4.0 stable after a long time. From now on, we'd like to release new features and bugfixes often.
In subsequent v4.x releases, we intend to implement the next features in non-breaking ways.

- Codebase improvements (refactor tests [#715](https://github.com/json-api-dotnet/JsonApiDotNetCore/issues/715), coding guidelines [#835](https://github.com/json-api-dotnet/JsonApiDotNetCore/issues/835) [#290](https://github.com/json-api-dotnet/JsonApiDotNetCore/issues/290), cibuild [#908](https://github.com/json-api-dotnet/JsonApiDotNetCore/issues/908))
- Bulk/batch support (atomic:operations) [#936](https://github.com/json-api-dotnet/JsonApiDotNetCore/issues/936)
- Write callbacks [#934](https://github.com/json-api-dotnet/JsonApiDotNetCore/issues/934)
- ETags [#933](https://github.com/json-api-dotnet/JsonApiDotNetCore/issues/933)
- Optimistic Concurrency [#350](https://github.com/json-api-dotnet/JsonApiDotNetCore/issues/350)
- Configuration validation [#414](https://github.com/json-api-dotnet/JsonApiDotNetCore/issues/414) [#170](https://github.com/json-api-dotnet/JsonApiDotNetCore/issues/170)

## vNext
We have interest in the following topics for future versions.
Some cannot be done in v4.x the way we'd like without introducing breaking changes.
Others require more exploration first, or depend on other features.

- Resource inheritance [#844](https://github.com/json-api-dotnet/JsonApiDotNetCore/issues/844)
- Split into multiple NuGet packages [#730](https://github.com/json-api-dotnet/JsonApiDotNetCore/issues/730) [#661](https://github.com/json-api-dotnet/JsonApiDotNetCore/issues/661) [#292](https://github.com/json-api-dotnet/JsonApiDotNetCore/issues/292)
- System.Text.Json [#664](https://github.com/json-api-dotnet/JsonApiDotNetCore/issues/664)
- EF Core 5 Many-to-many relationships [#935](https://github.com/json-api-dotnet/JsonApiDotNetCore/issues/935)
- Fluent API [#776](https://github.com/json-api-dotnet/JsonApiDotNetCore/issues/776)
- Auto-generated controllers [#732](https://github.com/json-api-dotnet/JsonApiDotNetCore/issues/732) [#365](https://github.com/json-api-dotnet/JsonApiDotNetCore/issues/365)
- Serialization, discovery and documentation [#661](https://github.com/json-api-dotnet/JsonApiDotNetCore/issues/661) [#259](https://github.com/json-api-dotnet/JsonApiDotNetCore/issues/259)

## Feedback

The best way to give feedback is to create new issues or upvote/downvote existing ones.
Please give us feedback that will give us insight on the following points:

* Existing features that are missing some capability or otherwise don't work well enough.
* Missing features that should be added to the product.
* Design choices for a feature that is currently in-progress.