DEV Community

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

Ben Halpern on October 15, 2018

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!

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!

Collapse
 
apoclyps profile image
Kyle Harrison • Edited

Search is an open issue. The project is relatively new so it only contains a few sources at present but it can easily be extended to another city and additional sources (if anyone is interested in adding any).

In Belfast the use case covers the 50+ user groups that meet monthly that advertise their events via multiple sources. Step one was pulling all that data together. The next phase is making that content searchable and filterable by topics and content.

Collapse
 
eayurt profile image
Ender Ahmet Yurt • Edited

Hi,

This is a Gist web app. You can reach your follower and following Gist via GistCatch. You can contribute it. There are a few issues right now but we can improve it.

PS: hacktoberfest labels will be open in coming days.

Cheers.

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

nikoheikkila / pwnedapi

Library for easily interfacing with Have I Been Pwned API v2

pwnedapi (Have I Been Pwned)

Build Status codecov

A small utility class to leverage Troy Hunt's Have I Been Pwned API v2 and the k-Anonymity model. Inspired by Phil Nash's Ruby gem pwned.

Installation

# From repository
pipenv install pwnedapi
# Locally after cloning
python setup.py install

Usage

In its simplest form you'll only need to use two methods. Will probably add more if and when the API grows.

>>> from pwnedapi import Password
>>> password = Password("mysupersecretpassword")
>>>
>>> if password.is_pwned()
...     print(f"Your password has been pwned {password.pwned_count} times.")
...
Your password has been pwned 2 times
>>>

You can also scan a file of passwords, and export results in any format supported by the tablib library.

>>> from pwnedapi import Scanner
>>> scanner = Scanner()
>>> scanner.scan("passwords.txt"
Collapse
 
koredefashokun profile image
Oluwakorede Fashokun

I get your point. Many other people have asked this same question too. There are three possible options myself and the other members of the development team are looking at:

  1. Make it location-based.
  2. Make it interest-based.
  3. (Worst case): Make it following-follower based, but with anonymous followership (you can't see your followers or the number of followers you have).

Still deciding which would be the most feasible.

Thread Thread
 
shalvah profile image
Shalvah

you can't see your followers or the number of followers you have

This concept is intriguing... I'm wondering, what would Twitter be like if no one knew how many followers they (or others) had? 🤔

Collapse
 
koredefashokun profile image
Oluwakorede Fashokun

I'm working on an open source social network, which is not follower-based, to debunk the attachment of people's self-worth to the number of their followers. It's called Globe. You can contribute here. It's just getting started, but I believe it will help to stop the mental health issues generated from social networking.

Collapse
 
this_mkhy profile image
Mohamed Khaled Yousef

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
 
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
 
yo profile image
Yogi

Gitote is an open source end-to-end software development platform with built-in version control, issue tracking, code review, and more.

gitlab.com/gitote/gitote

Collapse
 
purplebabar profile image
PurpleBabar

Hi guys :D Seems sass-lint is needing Maintainers :)

github.com/sasstools/sass-lint

github.com/sasstools/sass-lint/iss...

Cheerz

Collapse
 
ben profile image
Ben Halpern

Looking to get the DEV iOS app out the door if anyone wants to clone it and play around and find/issues.

thepracticaldev / DEV-ios

DEV Community iOS App

Build Status GitHub License Language

DEV iOS 💖

This is the repo for the dev.to iOS app. It is still a work in progress, but getting there!

Design ethose

We will grow to include more native code over time, but for now we are taking the approach of native shell/web views. This approach lost favor early in iOS days, but I believe it is a very valid approach these days. It is inspired by how Basecamp does things. Our tech stack is a bit different, but the ideas are the same.

m.signalvnoise.com/basecamp-3-for-...

signalvnoise.com/posts/3743-hybrid...

signalvnoise.com/posts/3766-hybrid...

youtube.com/watch?v=SWEts0rlezA

By leveraging wkwebviews as much as possible, I think we can make this all pretty awesome and sync up with our web dev work pretty smoothly. And where it makes sense, we can re-implement certain things fully native, or build entirely native features. Life's a journey, not a destination.

Contributing

  1. Fork and clone the project.
  2. Install Carthage. If…
Collapse
 
ben profile image
Ben Halpern

I'll also add this here for anyone looking for little web dev things to do. I added this as a comment for a newbie looking for simpler projects:

If you want to help dev.to out a bit, feel free to seek out some language/framework sites that could use a DEV link and add them to the relevant pages.

Similar to these PRs:

Thanks to you or anyone else who wants to do some of this! 🙏

Collapse
 
ben profile image
Ben Halpern

Also, if you see that the date inside of the comment is out of place, that's an issue with our liquid tags that need to be worked out. PRs welcome 😄

Collapse
 
enzoftware profile image
Enzo Lizama Paredes

What about DEV-android???

Collapse
 
shanalikhan profile image
Shan Khan • Edited

Code Settings Sync needs help in terms of finance or contributors.

Collapse
 
offendingcommit profile image
Jonathan Irvin

Check out

jelly-fin / jelly-fin-web

The web-based personal financial automation system for people who need it.

Jelly Fin Web

Discord Dependabot Status PRs Welcome contributions welcome Inline docs Build Status codecov Commitizen friendly


Finances are hard. It's one of the first adulting things everyone has to wrestle with. So, let's make it easy and automate it. Over the course of several years, my wife and I have tracked our finances using a forecasting method and had done it all within a spreadsheet. The time came where I wanted to take this concept and make it mobile using serverless architecture and clean design.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

Installing and Running

  1. Clone the repo.
  2. Run npm install to cover any dependencies.

To compile and hot-reload for development

npm run serve

To compile and minify for production

npm run build
Collapse
 
pranay_rauthu profile image
pranay rauthu • Edited

I am looking for contributors to work on webin.

GitHub logo pranayrauthu / webin

html, css & javascript playground

Webin

webin is web playground to work with html, css & javascript.

Note: This app is still in beta stage. try it for free here




Collapse
 
kwabenberko profile image
Kwabena Bio Berko

KwabenBerko / OpenWeatherMap-Android-Library

A wrapper for the openweathermap REST API

OpenWeatherMap-Android-Library

You need an API Key to use the OpenWeatherMap API. Head on over to their website if you don't already have one.

Download

Step 1. Add the JitPack repository to your root build.gradle file.

allprojects {
  repositories {
    ...
    maven { url 'https://jitpack.io' }
  }
}

Step 2 : Download via Gradle:

compile 'com.github.KwabenBerko:OpenWeatherMap-Android-Library:v1.1.2'

Note: Remember to include the INTERNET permission to your manifest file

Usage

Instantiate the OpenWeatherMapHelper class

OpenWeatherMapHelper helper = new OpenWeatherMapHelper();

Set your API Key (Required)

helper.setApiKey(getString(R.string.OPEN_WEATHER_MAP_API_KEY));

Set your Units (Optional, Standard by default)

helper.setUnits(Units.IMPERIAL);
Unit Options:
  1. Units.IMPERIAL (Fahrenheit)

  2. Units.METRIC (Celsius)

Set language (default : en)

helper.setLang(Lang.ENGLISH);

Features

(1) Current Weather

Get current weather by City Name:

helper.getCurrentWeatherByCityName("Accra", new OpenWeatherMapHelper.CurrentWeatherCallback()