DEV Community

Ben Halpern
Ben Halpern

Posted on

Who's looking for open source contributors? (October 22nd edition)

We're towards the end of #hacktoberfest!

Find something to work on or promote your project here.

Please shamelessly promote your project. Everyone who posted in previous weeks is welcome back this week, as always. πŸ˜„

Happy coding!

Latest comments (28)

Collapse
 
tutorialsmate profile image
TutorialsMate

Looking for technical content writers who can write coding articles on website: tutorialsmate.com/

Collapse
 
sharadtricks profile image
Sharad

Looking for technical content writers who can write coding articles on my website
onlineinterviewquestions.com/

Collapse
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard • Edited

If you are reading this, you are probably thinking about making a first open-source contribution to an external project. You may find useful this article on dev.to where I share my experience on how to do that better. What I call the Minimum Viable Pull-request

Collapse
 
nikoheikkila profile image
Niko HeikkilΓ€

My Python library for interfacing with Troy Hunt's Have I Been Pwned API is now in version 0.5.0 and supporting Python 3.5 as well. However, there's surely more to improve on that. Go check the issues or stumble down the source code path. This is a very small library offering all the easy Hacktoberfest points! πŸŽƒ

For newcomers I have tasty treats in form of documentation:

Craft a Markdown documentation for the project #13

This is a no-brainer. We need to have basic documentation about how to install, use, and develop this project.

I have set up a Read the Docs project on #12 which should help to get things going. The rendering is done by mkdocs so Markdown is the way to go.

Any volunteers for writing this? It's recommended to get a good look on library before writing. Also, there will be a CLI implementation done in #10 so it needs to be documented as well.

Should the integration examples under examples directory and referenced in #3 also be moved to documentation? I see no motives against it

Following code snippet should be added to README.md along with link to the actual documentation.

<span class="pl-e">Documentation Status</span>

...improving code quality as reported by Codacy:

Improving Code Quality #8

We are using Codacy to monitor code quality and security issues. Its grade is now C B so there's some room for improvement.

Anyone willing to fix those? Discuss here if some rules need ignoring or adjustment.

...or if you want to integrate with your favorite web framework, please tell me how it went:

Add examples for integrating with Python web frameworks #3

If you have integrated PwnedAPI with eg. Flask, Django, Falcon, or any other cool web framework I'd fancy to see your integration!

Tutorial-level Markdown files (README.md) should be placed in examples directory with relevant code snippets for each framework. Optimal use case would be a sign-up form where the user types their password and has it checked against with PwnedAPI.

Frameworks covered

  • [x] Django
  • [ ] Flask
  • [ ] Falcon
  • [ ] Responder
  • [ ] Other? Let me know.
Collapse
 
arschles profile image
Aaron Schlesinger

The Athens Project! We're a young project and an inclusive and welcoming community (regardless of background and experience level). It's a great way to learn #go too.

We'd love for you to join us, and if you're interested, check out github.com/gomods/athens/#contribu...

Collapse
 
dayvonjersen profile image
dayvonjersen

Help me work on my enhanced interactive git shell! (Or just try it out and let me know what you think by filing an issue or sending me an email).

I finally added animated GIFs to the README like all the cool kids do these days and I need to show someone :3

This thing has vastly improved my git experience (as in, how it feels to use git not how effectively I actually use git πŸ˜…). It's what I've always wanted in a git tool and I'm glad I made it, but it still has a ways to go so help me out!

-tso

Collapse
 
jospoortvliet profile image
Jos Poortvliet

Hi awesominals! If you are worried about privacy, democracy, data ownership or just want to self-host, Nextcloud would love your attention & code as we have that in common! We build essentially a private cloud with file sync & share as base but already more than 150 apps adding cool things from a polls/doodle app to calendar, password manager and many more.

Check out github.com/nextcloud - we have starter tasks to help you get doing and friendly devs!

Nextcloud is written in PHP and JS (much Vue lately) and quite easy to install and play with. Check out nextcloud.com for more!

Collapse
 
scriptify profile image
Maximilian Torggler

I don't know if it's too late, but here's a project I am currently working on. I wrote a short article on dev.to for it, I think this one serves best as an explaination: dev.to/scriptify/crana---react--no...

Collapse
 
theodesp profile image
Theofanis Despoudis

Easy PRs welcome for memwatch: A library that triggers an event when the runtime memory usage of the process is over the limit and exits after a while.

Collapse
 
theluk profile image
Lukas Klinzing

I started github.com/theluk/react-formular a while ago because I liked the idea managing form state in context and having some kind of Middleware for validation and other stuff. But time is missing.

Would be glad to also have just a conversation about this approach in the issues section.

Collapse
 
jdsteinhauser profile image
Jason Steinhauser

It's not my project, but I'll plug it again!

Texas is a server-side rendering library for Phoenix/Elixir. It utilizes Phoenix's killer WebSocket implementation to send diff patches to the browser as backend content is updated. Check it out!

Collapse
 
eayurt profile image
Ender Ahmet Yurt

Hi,

This is a tiny Gist application github.com/enderahmetyurt/gistcatch. You can add new features, report bugs and solve the issues. This is not a hard project for beginners. If you know to do something with Ruby and Rails you can handle it.

Cheers.

Collapse
 
theredspy15 profile image
Hunter Drum

Multi Go

URL (GitHub): github.com/TheRedSpy15/Multi-Go
Language: Go
License: Apache-2.0
Idea: Combine multiple tasks into one command line tool, for use by IT & Cyber Security professionals.
Contributing: View readme

Collapse
 
ryansgot profile image
Ryan

Forsure DB is a declarative database access tool for Android, Kotlin, Java that I've been maintaining/enhancing since 2015. Although Google's Room dominates the Android-ORM scene these days, Forsure DB has some distinct advantages:

  • It's not platform-specific--the same code that handles database access for your android app can handle database access for your desktop app
  • It's not SQLite-specific--DBMS integration is plugged in via Java SPI (although the only current integration is SQLite)
  • It's not an ORM . . . unless you want it to be one, in which case, it is
  • It generates migrations for you based upon the current state of your code.

It has some big disadvantages in terms of its features and support, though. And it would be awesome to have other contributors. Take a look at the current list of issues where I generally do planning of features and releases.

Collapse
 
robbporto profile image
Robson Porto • Edited

Reshort - write less in your action creators!

Intro

Hi, everyone! I developed this simple little lib (my first lib!) to help me reduce some repetition in my action creators. If you have any constructive critiques I would be very pleased to hear it. If you have some interest in the project and can help, it would be awesome!

The problem:

Let's say that I want to fetch a list of books. Using redux, I have to create three actions creators:

  1. the first one is the "REQUEST";
  2. the second one is the "SUCCESS";
  3. the third one is the "FAIL".

Like so:

export const fetchProducts = () => ({
  type: FETCH_PRODUCTS
})

export const fetchProductsSuccessful = payload => ({
  type: FETCH_PRODUCTS_SUCCESSFUL,
  payload
})

export const fetchProductsFailure = error => ({
  type: FETCH_PRODUCTS_FAILURE,
  payload: error
})

export const fetchUsers = () => ({
  type: FETCH_USERS
})

export const fetchUsersSuccessful = payload => ({
  type: FETCH_USERS_SUCCESSFUL,
  payload
})

export const fetchUsersFailure = error => ({
  type: FETCH_USERS_FAILURE,
  payload: error
})

You can see that we are repeating the same patterns in all our actions!

Now let's say that I want to fetch a list of authors. Or a list of books. Or a list of bookmarks... This pattern of REQUEST-SUCCESS-FAIL can become very repetitive and verbose.

The solution

Using reshort you can create one "complete action creator" using one line, instead of three. Like so:

import reshort from "reshort";

const productsActions = reshort("Products");

productsActions("request")
// {
//   type: "GET_PRODUCTS"
// }

productsActions("success", {test: 123})
// {
//   type: "GET_PRODUCTS_SUCCESSFUL",
//   payload: { test: 123 }
// }

productsActions("fail", {test: "error"})
// {
//   type: "GET_PRODUCTS_FAILURE",
//   payload: { test: "error" }
// }