nanoflakes / .github

GitHub repository for the Nanoflakes project.
Creative Commons Zero v1.0 Universal
3 stars 0 forks source link

Hacktoberfest! #4

Open NotJustAnna opened 2 years ago

NotJustAnna commented 2 years ago

Hacktoberfest!

Hey there! If you're reading this, you're probably here for Hacktoberfest. If you're not, you're probably here because you're interested in nanoflakes. Either way, welcome!

What's a Nanoflake?

Nanoflakes is a specification for unique identifiers which can be generated locally or from a remote server. The specification is designed to be simple and easy to implement, and to be compatible with Twitter's Snowflake algorithm, which Nanoflakes is based on.

The official, full specification can be found here.

I want to contribute!

Awesome! Here's how you can contribute:

1. Implement nanoflakes in your favorite language

Nanoflakes already have reference implementations in the following languages:

You're more than welcome to implement nanoflakes in other languages! Nanoflakes are designed to be simple and easy to implement. Most implementations should be less than 100 lines of code.

If you do implement nanoflakes in another language, please open a pull request to add your implementation to this list.

You can also comment on this issue if you want to turn your implementation into a reference implementation. In this case, I'll create a new repository for the programming language you're using, and you can open a pull request to add your implementation to that repository. Please make sure that your implementation is well-documented and that it follows the specification!

2. Better documentation

See something that could be improved? Open a pull request!

Be it a typo, a broken link, or a overall improvement to the documentation, you're more than welcome to open a pull request to improve the documentation on any of the nanoflakes repositories.

3. Improve the specification

The specification is still a work in progress, and there are still a few things that need to be improved. If you have any suggestions, please open an issue or pull request to suggest changes to the specification.

Anything else?

If you have any other ideas for how you can contribute, please open an issue or pull request to suggest them in this issue!

End note

If you have any questions, feel free to ask them in the comments below!

Nanoflakes is my hobby project, and I'm doing this for fun. I'm not expecting anyone to contribute, but if you do, I'll be happy to accept your pull requests!

RishitaGangwal commented 2 years ago

Hey @adriantodt I would like to contribute.

NotJustAnna commented 2 years ago

Hey @RishitaGangwal, thanks for your interest in contributing!

Please let me know what you'd be interested in contributing to the Nanoflakes project!

If it's a new reference implementation of the library or a website for the project, I can open a new repository in the organization for you to PR and participate.

RishitaGangwal commented 2 years ago

Hey @adriantodt Please open a new repository.

NotJustAnna commented 2 years ago

Sure, @RishitaGangwal! What you interested in contributing? A website for the project? A implementation of Nanoflakes in a new programming language? (If so, what programming language?)

Just please tell me so I can create the repository accordingly! πŸ˜ƒ

RishitaGangwal commented 2 years ago

I am comfortable in both and in implementation of Nanoflakes in a new programming language, would like to contribute in Java language.

NotJustAnna commented 2 years ago

Great! There's already an Nanoflakes implementation for the Java language, which you can contribute here: https://github.com/nanoflakes/nanoflakes-java

There's also a related Hacktoberfest issue for the Java library can be found here.

RishitaGangwal commented 2 years ago

Am lil bit confused, what should I contribute?

NotJustAnna commented 2 years ago

Am lil bit confused, what should I contribute?

Uhm... The project doesn't exactly have a to-do list, for it is mostly considered "done" as far as the specification and libraries go, but it does accept any mindful contributions that people have to add to the project, such as implementations in new programming languages, better documentation or READMEs, a simple GitHub Pages website, etc.

RishitaGangwal commented 2 years ago

I have made a Quiz App in C programming language, so should I share that with you as my contribution?

On Wed, 5 Oct 2022, 6:18 pm AdrianTodt, @.***> wrote:

Am lil bit confused, what should I contribute?

Uhm... The project doesn't exactly have a to-do list, for it is mostly considered "done" as far as the specification and libraries go, but it does accept any mindful contributions that people have to add to the project, such as implementations in new programming languages, better documentation or READMEs, a simple GitHub Pages website, etc.

β€” Reply to this email directly, view it on GitHub https://github.com/nanoflakes/.github/issues/4#issuecomment-1268391097, or unsubscribe https://github.com/notifications/unsubscribe-auth/AVC2D7UUBDEKHCMR3DPRDADWBV2JVANCNFSM6AAAAAAQ26MSWE . You are receiving this because you were mentioned.Message ID: <nanoflakes/ .@.***>

Guptaanvi commented 2 years ago

I am a non coder so i don't now, what to contribute in Pls tell me if in any way i can contribute

NotJustAnna commented 2 years ago

Hello @Guptaanvi!

If you're familiar with Markdown files, my suggestions of contributions for non-coders are any enhancements you can think of for the README files on the reference implementations on any of the repositories of this organization, as all repositories of Nanoflakes are participating on Hacktoberfest. The enhancements can be as simple as grammar fixes, all contributions are welcome!

Guptaanvi commented 2 years ago

No sir i am not familiar with it as i haven't learn any language or computer programs I can help with simple task

codingmiracle commented 2 years ago

Hey πŸ‘‹ Any topics where help is needed? I'm major java and javascript. Plzz just assign me!

NotJustAnna commented 2 years ago

Hey @codingmiracle! Welcome to Nanoflakes!

We don't have any currently open issues, but you can look at either the Java or TypeScript implementations of Nanoflakes and suggest changes or enhancements!

For example, the TypeScript library was more or less a direct port from the Java library, and so doesn't feature the most idiomatic TypeScript code ever πŸ˜…. If you're more comfortable with JS/TS than Java, I'd suggest looking at the code (it's really not many lines of code) and suggesting improvements.

I'll try to brainstorm some issues, post them in their related repositories and then re-post them here.

codingmiracle commented 2 years ago

Thx, I'll have a look at the typescript library tomorrow, and maybe figure out new ideas πŸ’‘

NotJustAnna commented 2 years ago

To the people following this issue, recently I opened an issue over at nanoflakes/spec with the idea of sub-specifications for Nanoflakes over remote protocols, so remote generators could be implemented and clients could support ID generation over HTTP, HTTPS, etc.

At the TypeScript library, there's 2 issues which I opened: Idiomatic TypeScript Improvements and Add GitHub Actions for the project