dotnet-foundation / projects

This repository is used for onboarding new projects
113 stars 32 forks source link

Project Application: BitzArt.ApiExceptions #227

Closed YuriyDurov closed 2 years ago

YuriyDurov commented 2 years ago

1.   General Information

Project Name: BitzArt.ApiExceptions

License: MIT

Contributor (Company, Organization or individual name(s)): BitzArt

Existing OSS Project? (Yes/No): What does this mean?

Source Code URL: https://github.com/BitzArt/ApiExceptions

Project Homepage URL (if different):

Project Transfer Signatories: Yuriy Durov (u.a.durov@gmail.com) Full legal name and email address required of the individual(s) with the authority to transfer or contribute the project to the .NET Foundation. Note that if you'd prefer not to include this in the public application, it can be submitted via e-mail to contact@dotnetfoundation.org (referencing this issue number).

2.   Description

Please provide a brief statement about your project in terms that are understandable to the target consumer of the library or project, i.e. an elevator pitch for the project:

BitzArt.ApiExceptions is an open-source library which is published as a package on nuget.org, which attempts to reinvent exceptions in .Net.

It provides base ApiException classes, which act as carriers for a Payload, which can then be consumed and processed by Handlers when those exceptions bubble up the stack.

Usage example:

  1. User requests item with specific Id.
  2. Let's say such item does not exist.
  3. We throw an ApiException.NotFound with message $"Item with Id '{itemId}' not found.".
  4. We can also add custom fields to the payload if we want to display something else in the error message.
  5. This ApiException bubbles up the stack, gets consumed and processed by the Handler, either provided by this library or a custom one.
  6. Appropriate error message gets shown in resulting json.

Please provide a 1 sentence (<140 character) summary of your project to help users when searching the .NET Foundation projects

ApiExceptions make it easy to throw API errors. This library provides base ApiException classes, as well as Handlers for different platforms.

3.   Project Governance

Please complete this section about who will be maintaining the open source project and how it will run. Project Lead: (Who is the primary contact point for the community and the .NET Foundation when discussing governance of the project.)

Name: Yuriy Durov Email: u.a.durov@gmail.com GitHub Profile URL: https://github.com/BitzArt

Committers:

Which individuals have commit / write access to the repository, what is their GitHub ID and who is their employer (if contributions are on behalf of an employer)

Yuriy Durov (@BitzArt)

Governance Model:

Please describe how new code changes are proposed to the project, how those changes are reviewed and how a decision is made to accept proposed changes. Also describe the process for identifying and appointing new committers.

An issue is created describing the proposed code change. After a review/design process, the maintainers of the project accept the proposed change. Change is implemented and submitted as a pull request. Pull request is reviewed and ultimately approved when it aligns with the agreed-upon design and coding/architecture standards of the project.

CLA

If already an OSS project, was a Contribution License Agreement in place for contributions accepted? How does the project check who has signed one? No

CLA Notification Alias Provide an email address that will receive CLA related notifications from the .NET Foundation CLA automation u.a.durov@gmail.com

Assignment Model. Under the .NET Foundation assignment model, project ownership and other intellectual property is assigned to the .NET Foundation and the .NET Foundation agrees to grantback a license to the contributor(s).

Contribution Model. Under the .NET Foundation contribution model, a project retains ownership of the copyright, but grants the .NET Foundation a broad license to the project’s code and other intellectual property. The project also confirms that the project’s submissions to .NET Foundation are its own original work (there are also instructions for any third party materials that might be included).

4.   Repository Layout

The .NET Foundation host guidance for new projects and details on recommended structure here: https://github.com/dotnet/home/tree/master/guidance

Note that the open source repository should be the master where changes are made by the core development team using the same PR process that is used for non-committer contributions.

Please define below any changes you would want to make to your repositories as part of the process of joining the .NET Foundation

5. Eligibility Criteria

Please complete the following for your project

6.   PR Plan

Please summarize the public relations plan for the announcement when joining the foundation (and releasing as open source if appropriate). What is the main story we wish to promote, through what channels, what issues should we be aware of?  For significant news events then please also work with your .NET Foundation contact to ensure a full PR plan is developed.

No particular PR plan, aside from occasional events.

7.   Infrastructure Requirements

Please describe any infrastructure requirements for the project. For example, how will build servers be operated? Any web hosting or service hosting requirements? Do we need to set up SSL certificates or provide Authenticode Code Signing arrangement for releases?

Publish pipeline is a GitHub Action, the end user needs to download a nuget package from nuget.org.

8.   Additional Notes

Please provide any additional information required or use this area for notes during the onboarding process. If this open source project has similarities with any other projects in this space then please detail them and why this project is different. If there are any potential issues that you feel the project might need help with early on then also state them here and discuss with your .NET Foundation Contact.

sbwalker commented 2 years ago

The Project Committee Charter (https://github.com/dotnet-foundation/projects) contains activity criteria which is used to evaluate project applications. This project does not currently exhibit activity or adoption metrics at a level which would allow for an application approval. The project can be resubmitted in the future when it has developed a community and critical mass.