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

twitter logo github logo ・1 min read

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!

twitter logo DISCUSS (27)
markdown guide
 

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!)

 

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

 

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.

 

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.

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

 

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

 

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!

 

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

Self hosted project management and collaboration tool powered by Laravel & VueJS

License Build Status Stable Version Laravel Version VueJS Version codecov StyleCI Join on slack Join on goodwork

Goodwork

Self hosted project management and collaboration tool inspired by basecamp.


Overview | Demo | Installation | Screenshots | Contributing | Supporting | Credits | License


About Goodwork

Goodwork is a simple project management and collaboration tool for software teams. It is open source and MIT licensed. Goodwork is a self-hosted software so no dependency on anyone and only you keep your data.

Goodwork brings you all the components required for your project to run smoothly in one place so that you have single source of truth. Instead of using a collection of tools or service which makes everything messy and hard to find important details from stuff scattered all over the place, Goodwork organizes everything in a central place where everyone in the company knows what to do, knows where things stand and find stuff without having to ask around all the time.

Available in 23 language

Overview

Demo




 
 

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

 

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.

 

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

 

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

 

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

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!

 

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

 

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.

 

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!

 

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.

 

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…

 

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

 

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.

 

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

 

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.
 

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.

 

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

Classic DEV Post from Jun 17

How to Get Smarter Without Knowing Anything

Extend your brainpower with the internet

Ben Halpern profile image
A Canadian software developer who thinks he’s funny.