DEV Community

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

Ben Halpern on October 22, 2018

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!

Collapse
 
aspittel profile image
Ali Spittel • Edited

Looking for some help with Learn Code from Us, a site that features people from underrepresented groups in tech who create coding materials! There are some open issues, and I'm trying to make the project as beginner friendly as possible!

Also, would love for volunteers for maintainers -- I am a super new maintainer and am a lil overwhelmed with the amount of help I'm getting (in a good way for sure!)

Collapse
 
brandonb927 profile image
Brandon Brown

We're looking for people to help us build out infrastructure, documentation, and to participate in an annual FREE event we hold in Victoria, BC, Canada called Battlesnake.

We're primarily searching for contributions to help us build features faster and improve documentation. The main draw for attendees is students and professional devs, and getting the students up and running to build a snake is often a difficult first step for them. Documentation is something we've worked to improve but we acknowledge that it could be much better.

We also, like last year, plan to stream the event live on Twitch so even if physical presence at the event is a no-go, spectating virtually is 100% welcome! If you have questions or this sounds like a cool opportunity to help a project, please reach out and we can find a way to work together πŸ˜„

github.com/battlesnakeio/community

Collapse
 
theoutlander profile image
Nick Karnik

This is incredible! I’m working on a game with a similar concept. I have the same vision in terms of learning to code via gaming and competing in tournaments. I’ve sat on it for many years and finally gotten around to prototype it. There’s a lot I can learn from battlesnake! I’ll see where I can participate. When I get time I can help make video tutorials.

Collapse
 
brandonb927 profile image
Brandon Brown • Edited

Thanks Nick! We'd love to have you a drop an Issue on Github and let us know what you'd want to work on.

Thread Thread
 
theoutlander profile image
Nick Karnik

I'm super excited about this. I've joined your Slack. Let's chat further on it. I'll ping you.

Collapse
 
ogfris profile image
Fris

Will make my own AI implementation in Go but i want to know if it's possible to participate remotely ? :)

Collapse
 
brandonb927 profile image
Brandon Brown

Hey there! Thanks for checking the project out. We have a bunch of starter snakes written in various languages you can get started with, and if you go to play.battlesnake.io you can start developing against the API and then run games there.

Unfortunately we haven't worked out a great way for remote participants, however if you want to run your own event, let us know and we can help out there.

Cheers!

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
 
hasnayeen profile image
Nehal Hasnayeen

Goodwork, is a project management and collaboration tool for all kind of teams. It is open source and MIT licensed and self-hosted. A demo is available also at goodworkfor.life

Its still under development. Hopefully version 1 will be released by the end of the year.

Built with Laravel, VueJS, Tailwindcss and other stuff.

You can help by coding,or testing the app or general discussion on product features. Need help in translation and documentation also.

GitHub logo Hasnayeen / larks

https://github.com/Hasnayeen/goodwork

Warning

If you're looking for project management app built with Laravel & VueJS then go here

This is an empty repo now. Something will be available here at some point in future maybe or maybe not.




Collapse
 
amr3k profile image
Amr

Login credintials are not valid!

Collapse
 
hasnayeen profile image
Nehal Hasnayeen

fixed

Collapse
 
darkain profile image
Vincent Milum Jr

WELL, now that GitHub seems to be back to normal, here is a link to my project!

github.com/darkain/pudl

I'm the creator and maintainer of the PUDL (PHP Universal Database Library) project. The main goal is to create a single, simple, standard interface for interacting with ANY SQL implementation supported by PHP. Existing tools like PDO fall way to short in this regard, and have an awkward learning curve (DSNs get confusing for new developers). Beyond just a basic "hey, lets execute a SQL query" mentality, this library is actually more focused on generating the query itself based on what the current database engine is. This way, it truly is just a single-line configuration option to switch between database engines.

Personally, I work almost exclusively with MariaDB (MySQL fork) these days, and mostly in a Galera clustering environment. I don't have a large enough deployment of Microsoft SQL Server or PostegreSQL Server to test more unique oddities and edge cases with these systems. I'm currently also implementing a SQLite database for a production system, so that is at least covered!

The other big area is working on detailed documentation for each and individual method in the library. I'm not much of a technical writing, but trying my best! I'm always open to suggestions on how to make the docs the best they possibly can be to on-board new developers interested in interacting with SQL databases.

Collapse
 
this_mkhy profile image
Mohamed Khaled Yousef

Again...Dev-Connections : For all developers especially beginners to get started with open source and wants to contribute #hacktoberfest ... This could help us to make a list for our connections.
Language: No line of code needed
All PRs welcome

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
 
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" }
// }
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
 
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
 
noah11012 profile image
Noah11012

Posting my projects from last week:

Result for C++ is a library that tries to be as similar to Rust's Result type as possible. Most methods are now implemented and now we just have to monitor what new methods gets added to Result by the Rust team as time goes by.

Noah11012 / result-for-cpp

C++ implementation of Rust's Result

Build Status

C++ Result

Result for C++ an implementation of Rust's Enum type Result. This C++ implementation tries to be as close to the original thing as possible. Of course, it won't be because of the language difference between the two.

Differences

  • and() and or() are called and_() and or_() in this implementation because and and or are keywords in C++.
  • To create an Err Result use the static member from_error().
  • A panic is a std::runtime_error.
  • unwrap(), unwrap_err() and expect() do not display the error value or the okay value when they panic. This is because it might not be possible to convert the type into a string.

Warning

The ability to check for equality between a Result and a value was added. However, one problem arose when this feature was added. If the template types are the same (for example Result<int, int> or Result<std::string, std::string>) then…

If you want something a bit easier to work on then maybe you can hack on SDLImageWrapper. Originally made when I needed to work with images in SDL2 in a more convenient fashion, is a C++ wrapper around SDL_Texture that provides an easy to use API and automatic cleanup through RAII.

Noah11012 / sdl-image-wrapper

A C++ wrapper and helper class to render images in SDL2

SDL Image Wrapper

SDLImageWrapper is a C++ wrapper around SDL_Texture for ease of rendering in SDL2.

Quick Start

Build

You will need SDL2 and SDL2_image to build and use this library. This library contains only a header and a source file. Simply include the header file and add the source file to the list of files to be built.

For example, if you have clang++ installed:

clang++ -o program main.cpp other_file.cpp `sdl2-config --cflags --libs` -lSDL2_image

In other_file.cpp:

#include "sdl-image-wrapper.hpp"
...

Of course, if you were using a build system generator like CMake you can just add the source file to the list of files for a target.

Usage

When using SDLImageWrapper you must ensure that SDL2 is initialized and that also SDL2_image is initialized. The constructor and open_image() will throw an SDLImageWrapperException if an error occurred. If a call to render_image() results in an error, an…

Libpixmap is an easy to use API made in C for reading and writing PPM images. Many things have been added including support for binary PPM images, filters and the ability to draw primitive shapes. As we progress, more filters and shapes will be supported.

Noah11012 / libpixmap

Simple to use library to read and write PPM (portable pixmap) images

PixMap library in C

Libpixmap is a library to read and write pixmap image formats with a simple to use API.

Getting Started

git clone https://github.com/Noah11012/libpixmap.git

cd /path/to/libpixmap

mkdir build && cd build

cmake ..

If you want to change the install prefix, enter the following:

cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/install/prefix

make

Because this library only contains a header and source file, you can simply include pixmap.h and add pixmap.c to the list of files needing to be built.

Example:

clang -o program main.c another_file.c pixmap.c

In main.c:

#include "pixmap.h"
int main(int argc, char *argv[])
{
}

Documentation

pixmap_image_new(char const *name, int width, int height, int max_color_val, PixMapImageType type)

Creates a new PixMapImage at the path name and with the dimensions of width x height and the maximum color value of max_color_val with the PPM image type of type. type can either be Text or…

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
 
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
 
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
 
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
 
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
 
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
 
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
 
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/