DEV Community

Ben Halpern
Ben Halpern

Posted on

Who's looking for open source contributors? (October 15th edition)

It's half way into #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!

Top comments (39)

Collapse
 
renegadecoder94 profile image
Jeremy Grifski

You know all those #hacktoberfest repos where you can contribute code snippets to learn how to make pull requests. Why not do that with a more long term project called Sample Programs in Every Language. In addition to code snippets, we automate our wiki, and we try to write articles to explain each of the available snippets. If that sounds interesting, check us out!

We're sitting comfortably with 88 stars and 50 forks, so we're still a small project which means you'd have a ton of opportunities to make an impact.

Collapse
 
nilkamal profile image
Nilkamal Shah

I am in, please let me know how to contribute?

Collapse
 
renegadecoder94 profile image
Jeremy Grifski

Sure! We have a contributing doc which should cover most of the details, but to summarize:

Pick a language you want to contribute to and check out what's already been contributed. If there's anything missing, feel free to make a pull request with the change. I recommend making an issue for your contribution first so no one beats you to it!

Otherwise, you can always propose new sample programs by making a pull request to the contributing doc with a description of the problem you'd like to solve.

If you're interested in writing, we are in desperate need of authors! :)

Collapse
 
hasnayeen profile image
Nehal Hasnayeen • Edited

Looking for contributors:
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

Built with Laravel, VueJS, Tailwindcss and other stuff.

You can help by coding,or testing the app or general discussion on product features. An instance of the app is running here goodworkfor.life/.

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

…




Collapse
 
robbporto profile image
Robson Porto • Edited

I hope I'm not too late!

Reshort - write less in your actions!

Intro

Hi, everyone! I developed this simple little lib (my first lib!) to help me reduce some repetition in my actions. I have some ideas of new implementations and I just want to see if anyone is interested in this at all or find this project interesting and useful. 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:

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

Now let's say that I want to fetch a list of authors. Or a list of users. 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" 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
 
gerbilsinspace profile image
Joseph Abell

This is a nice simple idea, and a great candidate for your first lib - I certainly have felt there being a bit too much boilerplate code for redux in the past.

One piece of functionality I'd like is to let the user define how they want their payloads to render. I like defining my values explicitly rather than having a payload value that could have anything inside it.

I'd consider doing this by letting the user pass a method that adds the data to the type... actually, I'm going to create an MR while I think this through... :D

Collapse
 
robbporto profile image
Robson Porto

Hey, Joseph! Thanks for taking the time to contribute!

Collapse
 
joelnet profile image
JavaScript Joel

MojiScript is always looking for contributors. There are a bunch of first timer issues issues up for grabs here: github.com/joelnet/MojiScript/issues

You can also contribute by playing with the language and providing feedback!

Cheers!

Collapse
 
renegadecoder94 profile image
Jeremy Grifski

Awesome! I follow a lot of these niche language repos. Let's get some snippets added to the Sample Programs repo!

Collapse
 
joelnet profile image
JavaScript Joel

Awesome. I'll have to check this out. I have a FizzBuzz example for sure:

Getting started with MojiScript: FizzBuzz (part 1)

FizzBuzz source code

Cheers!

Collapse
 
alexanderson1993 profile image
Alex

I've got some starship simulator controls that I'm working on called Thorium. They are used for starship bridge live-action role playing. It's built with React, Node, and GraphQL, and it's a lot of fun!

thoriumsim.com - for more information
github.com/thorium-sim/thorium - for the git repo
discord.gg/UvxTQZz - for the project chat.

If you have any questions, hit me up in the project chat. I'd be happy to get you up to speed.

Collapse
 
malgamves profile image
Daniel Madalitso Phiri

Hasura has a few open source projects that would be amazing to contribute to, a lot of them are beginner friendly. There's..

Feel free to reach out to me if you need any help contributing to one of our projects or join our Discord server.

Collapse
 
apoclyps profile image
Kyle Harrison

Muxer is always looking for contributors. It's an open-source events aggregator build using React and Python. Everyone is welcome to contribute and we have lots of first timer issues for #hacktoberfest. Although if you don't see something you like and can think of an improvement, code, documentation, feature, or something else we are open to all ideas and incorporate almost all issues / PRs.

There are a range of labeled issues with #hacktoberfest for React, Flask, and more. At present, Muxer is localized to Belfast but we more to allow every city to list events on Muxer, or even host their own.

Collapse
 
noah11012 profile image
Noah11012

Hello everyone!

Result For C++ has seen several improvements from last week. Several new functions were added:

  • map()
  • map_err()
  • expect()
  • unwrap_err()

All methods now have a const counterpart (except for or() and and()) and const references are used as arguments wherever possible.

If you like what you hear, you can check out the repository:

Noah11012 / result-for-cpp

C++ implementation of Rust's Result

Build Status

C++ Result

This is an implementation in C++ of Rust's Result. This is a WIP so not all methods found on Rust's Result type will be here at first. If you would like to help and implement the methods found in Rust's Result, that would be appreciated.

List of methods to implement

  • iter()

Quick Start

This library contains a header and a source file. Just include the header and add the source file to your list of files to build. Result for C++ uses some C++ 17 library features so you will need a compiler that supports C++ 17.

Compile with clang++ -o program main.cpp other_file.cpp -std=c++17

In other_file.cpp:

#include "result.hpp"

...

Documentation

Currently, no documentation exist at the moment. The best source of documentation is at the Rust STD Documentation website.


SDLImageWrapper is C++ wrapper around SDL_Texture to provide an easy to use API and automated clean up through RAII.

A few new things were added including the ability to flip and rotate the image.

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 C library that allows you create, open and manipulate pixels of PPM image formats.

Not much has been updated since then but documentation has been updated.

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)

Creates a new at the path name and with the dimensions of with x height and the maximum color value of max_color_val. max_color_val is clamped at 255. Free with pixmap_image_close(). Returns 0 on failure.

pixmap_image_close(PixMapImage *image)

Frees…

Collapse
 
rayman22201 profile image
Ray Imber

Nim, the hip, up and coming programming language, has some good Octoberfest action going on! We have a great community to help you get started and there are t-shirts and stickers to be won :-)

nim-lang.org/blog/2018/10/01/hackt...

Collapse
 
tux0r profile image
tux0r

C&P from last time:


I want to release a new version of my static blog generator in November or something. Possible tasks that need to be done anyway (however, if I need to do them myself, it'll be years...):

  • Integrate a search functionality via index files, ElasticSearch or something.
  • Split the main file (src/blogcpp.cpp) into more smaller files for easier maintenance. (Optimum: Integrate as much as possible into src/helpers.h without breaking that file's portability.)
  • Integrate libautoupdate for automatic update checks - sometimes I release new versions, you know? :-)
  • If comments are enabled, the supported comment systems offer a way to show how many comments were made under an article. Implement that for each of them.
  • Check if meson could replace CMake easily. If it does, do it.
  • Improve the Markdown parser: it lacks support for underlined headlines and non-standard features like GitHub's tables.

If nobody helps me, the next version will be released without any of those improvements. ;-)

Also, there is still the sufficiently popular ymarks project. It could need more testers. And probably some work on the server part because it is said to crash sometimes - I can't safely reproduce that...


None of those will get you Hacktoberfest credits (because GitHub is entirely uninteresting for me), but I'll like you more if you consider to contribute.

Collapse
 
xzyaoi profile image
Xiaozhe Yao

Documents: cvpm.autoai.org/
GitHub: github.com/unarxiv/cvpm

中文介绍(Chinese Intro): zhuanlan.zhihu.com/p/45672318

CVPM (Computer Vision Package Manager) is an open source software to help developers download, install and run computer vision services. It is the 'pip' for computer vision.

Though it is still in a very early stage and not recommend for use in production (actually, I do not recommend you to try it now because it may contain unknown bugs), We'd like to invite adorable developers to join us. We have a roadmap draft as below:

Complete the test cases and docs.

Complete the Model Hub. (Prototype is at hub.autoai.org)

Complete packages for some classic tasks as "Official Repo"

Complete third party package upload.

As an open source software, I am really sorry that we cannot promise you anything. But the following is what I can do:

We will have an Authors List for all the contributors.

There will be logo banner and donors page at the bottom of our Model Hub for sponsors.

If you are interested, please contact me at xiaozhe.yaoi@gmail.com, or you can post a GitHub Issues, or chat on gitter!.

Collapse
 
eulertour profile image
Devin Neal

I'm on a journey to polish up manim, an engine for creating educational videos. It's the software used by 3Blue1Brown to make YouTube videos on math. My goal is to make the software easy to understand and use so that everyone can teach this way.

eulertour / manim

Animation engine for explanatory math videos

Manim

CircleCI Documentation Status

Animation engine for explanatory math videos.

I made this fork in an effort to clean up the technical debt that has been accumulating on the upstream repo. Manim has the potential to be an excellent teaching tool, but it needs some work in terms of testing, documentation, community support, and general robustness before that happens.

You can probably tell from the previous paragraph that this project is very much a work in progress. You'll have to do a lot of exploration on your own to learn how the software works. Expect things to break frequently and unexpectedly early on, and to spend some time debugging. Feel free to file an issue if something seems wrong, and I'll get back to you as soon as possible.

Installation requirements

This fork of Manim runs on python 3.7 only. Earlier versions of python are not supported You can install the python dependencies…

Here's a quick taste of how it's used.

Collapse
 
ux_grant profile image
Grant McAllister

Are there any projects that are looking for a designer (Either needing some design work, or some HTML/CSS) - happy to jump on board and help out where i can :)

Collapse
 
marcosvidolin profile image
Marcos Vidolin

Please, take a look on that projects and fell free to contribute:

google-idtoken-auth: Node.js middleware to validate Google ID tokens in the request.

Google Chat Notifier: Google Chat Notifier allows Jenkins send notifications to a Google Chat via Webhook

Copy Properties Assembler: A simple copy properties wrapper to convert domain into resource/dto and vice versa.

Messagefy: This is a very small helper java library to easily build a JavaMail MIME object (javax.mail.internet.MimeMessage).

Doco: Document Converter for Google App Engine Search API

Collapse
 
vinistock profile image
Vinicius Stock

Hey, folks.

Re-posting Sail, the Rails engine to bring settings functionality to control your application live.

Since my last two posts about Sail, we have received contributions from some members of the dev.to community. We have expanded the amount of setting types, enhanced the dashboard and added authentication configuration.

If you'd like to contribute, here are some possible starting points:

  • Enhancing the dashboard looks (pretty open to suggestions)
  • Suggesting new setting types

There are also a couple of things that feedback would be very useful:

  • Would it be interesting to implement a history of changes for settings for auditing purposes?
  • There are two new ideas of setting types needing feedback. We'd like to know if it is worth to implement these
    • File type: setting will return the contents of the file for a given path
    • URL type: setting will return true if the current controller request matches the configured URL

vinistock / sail

Sail brings settings to help you navigate your Rails application live

Maintainability Build Status Test Coverage Gem Version

Sail

This Rails engine brings a setting model into your app to be used as feature flags, gauges, knobs and other live controls you may need.

It can either serve as an admin control panel or user settings, depending on how you wish to apply it.

Installation

Add this line to your application's Gemfile:

gem 'sail'

And then execute:

$ bundle

Or install it yourself as:

$ gem install sail

Adding the following line to your routes file will make the dashboard available at <base_url>/sail

mount Sail::Engine => '/sail'

Running the generator will create the settings table for your application.

$ rails g sail my_desired_migration_name

Which generates a migration to create the following table

create_table :sail_settings do |t|
  t.string :name, null: false
  t.text :description
  t.string :value, null: false
  t.integer :cast_type, null: false, limit: 1
  t.index ["name
…

Thanks, everybody!