Interest is the best teacher, HelloGitHub is to help you find interest!

Introduction to the

Share interesting, entry-level open source projects on GitHub.

This is a monthly magazine for people who are new to programming, passionate about programming, and interested in the open source community. The contents of the monthly include: various programming language projects, tools to make life better, books, study notes, tutorials, etc. Most of these open source projects are very easy to use, and very Cool. The main hope is for you to get your hands dirty and join the open source community.

  • Those who can program can contribute code
  • Those who cannot program can report bugs in using these tools
  • Help promote projects that you think are great
  • Star project ⭐ ️

As you browse and participate in these projects, you will learn more about programming, improve your programming skills, and find the fun of programming.

🎉 And the project HelloGitHub was born at 🎉


Below is the content of this issue | the latest issue will be published on the 28th of each month | click to view the content of previous issues

C program

Scrcpy: an open source tool for displaying and controlling Android phones on a computer. Easy to connect and easy to use, mobile phone without root, no need to install any application. Supports USB and Wi-Fi connections and Windows, macOS, and Linux operating systems. Note The ADB tool needs to be installed on the PC

C + + project

2, NetData: a free open source Linux system performance real-time monitoring tool. It is easy to install, consumes few resources, and is powerful enough to monitor multiple services

3. Musikcube: a music player written in C++ as a terminal that also functions as an audio engine, metadata indexer, and server. Musikcube can easily compile and run on Windows, MacOS, Linux, and Raspbian with raspbian. Although it can only be used on a terminal, it has a lot of features. For details, see the User Guide

Sourcetrail: a free, open source, cross-platform visual source code exploration project. It supports C, C++, Python and Java languages. At the same time, it provides related SDK for expanding and supporting other languages. It is believed that more languages will be supported in the future. With its help, programmers can quickly familiarize themselves with unfamiliar projects, learn open source projects, frameworks, etc., such tools quickly to try it

Go project

5. Guide: Uber’s internal Go style specification. Chinese translation

Evans: Interactive gRPC client based on Go language, making it easier to debug and test gRPC API

7, mkcert: no configuration, execute a command to enable the local development environment to implement HTTPS tool. The effect is as follows:

$ mkcert -install
Created a new local CA at "/Users/filippo/Library/Application Support/mkcert" 💥
The local CA is now installed inthe system trust store! ⚡ ️ Thelocal CA is now installed inthe Firefox trust store (requires browser restart)! 🦊 $mkcert example.com"*.example.com"Localhost 127.0.0.1 ::1 Using thelocal CA at "/Users/filippo/Library/Application Support/mkcert" ✨

Created a new certificate valid forThe following names 📜 -"example.com"
 - "*.example.com"
 - "example.test"
 - "localhost"
 - "127.0.0.1"
 - : : "1"

The certificate is at "./example.com+5.pem" and the key at "./example.com+5-key.pem"Copy the code

8. Gochat: Lightweight instant messaging system implemented by pure Go. Technically, each layer communicates with each other through RPC, using Redis as the carrier of message storage and delivery, which is more convenient and fast than Kafka. Discovery between layers based on the ETCD service facilitates expansion deployment. Clear architecture, directory structure, detailed documentation. Docker also provides a build, installation and operation is very convenient, recommended as a learning project

Java project

DoraemonKit: a fully functional r&d assistant for iOS, Android and wechat small program clients. It is powerful, easy to access and easy to expand, allowing each App to quickly access some commonly used auxiliary development tools, test efficiency tools, visual AIDS, and perfect access to some customized auxiliary tools in the Doraemon panel

SpringCloud: Microservices development scaffolding based on SpringCloud2.1

11. Newbee-mall: I developed e-commerce system based on Spring Boot 2.X and related technology stack. Including the mall system and the mall backstage management system, support the mall common functions. The project code is open source, complete functions, complete process, very friendly to novice developers, only a very short time to start the complete mall project. This is a complete e-commerce project, and Java developers at all stages are recommended to learn or contribute code to the project

JavaScript project

Kiwi: Still worried about the globalized multilingual front end? You can try ali open source this project

FileSaver. Js: JavaScript library for file saving, supporting a variety of common file storage formats: XLS, TXT, PNG, etc. It can easily convert data into files for users to download. Sample code:

// Store text
var blob = new Blob(["Hello, world!"] and {type: "text/plain; charset=utf-8"});
FileSaver.saveAs(blob, "hello world.txt");
Copy the code

14. Qier-player: a lightweight online video player based on React, with simple interface, smooth operation and basic functions of video player. Easy for you to add player components in the project, video playback function. If native video features are too few, the controls too silly, and the interface too crude, then this player is for you. You can also read the source code to learn about the order of life cycle execution, how parent and child components pass values, and how timers can be used for some real-time status updates. Sample code:

import React from 'react';
import ReactDOM from 'react-dom';
import QierPlayer from 'qier-player';

ReactDOM.render(<QierPlayer srcOrigin="Your video address"></QierPlayer>.document.getElementById('root'));
Copy the code

Glut: a tool for team chrome tool sharing, can be construed as chrome applets. It provides more apis than page scripting, but more functionality. A widget that can be opened at any time on a page, either as an aid to the page or as a standalone feature. The demo is as follows:

SVRX: an easy-to-use, plug-in front-end development workbench. Helps front-end developers spend time messing with their development environment instead of doing something more productive. Quick start:

  1. Installation:npm install -g @svrx/cli
  2. Create a directory:mkdir example && cd example
  3. Create file:echo '<html><body>Hello svrx! </body></html>' > index.html
  4. Run: SVRX

17. Paint: Experience oil painting online. Here is my masterpiece:

PHP project

18. SyncMusic: An online ballad platform based on PHP Swoole Support free click songs, cut songs, adjust the sort, delete specified music and basic permission classification

Python project

Pyflame: Uber’s Open-source Python performance analysis tool. You can analyze the performance of a Python program without modifying the code, while generating a flame chart

Gooey: a library that converts Python command-line tools into GUI desktop tools. Personally, I prefer the command line format 😅

21. Opendevops: An open source cloud management platform for automatic operation and maintenance based on Tornado. Support: ITSM, authority system, Web Terminnal login log audit, video playback, monitoring alarm system, DNS management, configuration center, etc

22. KubeOperator: Open-source container cluster management platform developed in Python. Plan, deploy, and manage production level Kubernetes cluster on VMware, Openstack, or physical machines through visual Web UI in offline network environment. Start your Kubernetes journey

Swift project

SwiftyGif: High performance and easy to use Swift GIF library. Sample code:

import SwiftyGif

do {
    let gif = try UIImage(gifName: "MyImage.gif")
    let imageview = UIImageView(gifImage: gif, loopCount: 3) // Use -1 for infinite loop
    imageview.frame = view.bounds
    view.addSubview(imageview)
} catch {
    print(error)
}
Copy the code

24. Pock: an open source tool that displays the macOS docking station in the touch bar on the MAC

other

Infer: A Facebook static analysis tool that supports Objective-C, Java, and C languages. Infer can detect resource leaks, memory leaks, and null Pointers in Android and iOS code. This recommendation can be integrated into the client release process to eliminate some serious bugs in the client application before it is released, while reducing application crashes and poor performance

26, Git-quick -stats: git commit record display and statistics. Support: statistics of different time dimensions and user names, overview of recent submissions, etc

27, TeachYourSelfCS-CN: TeachYourselfCS: A list of books for Self-learning computing Science (Chinese version)

FunNLP is a combination of Chinese lexicon. Can be used for: sensitive words, language detection, word disassembling dictionary, etc

29. CoolplaySpark: Spark source code analysis, class library interpretation, etc

Github cards: Unofficial Github cards

The tutorial

En. Javascript. Info: Modern javascript Tutorials are based on the latest javascript standards. A simple but detailed explanation of JavaScript from the basics to the advanced level can help the beginner and intermediate front-end to improve the level of JavaScript and other front-end technologies. Read online

Machine learning

32. Ml-nlp: This project summarizes machine learning, knowledge points often tested in NLP interview and code implementation

33, OpenPilot: Comma. ai open source autonomous driving system

34. MNN: A lightweight deep neural network reasoning engine, which loads the deep neural network model on the end side for reasoning and prediction. The architectural design is as follows:


“Finished, not enough? “Past content > | don’t satisfy, then look at the front end of the updated daily journal < front > today”

If you find interesting and meaningful open source projects click here to share the ones you find interesting.

The last

If you find something interesting on GitHub, feel free to mention issues at HelloGitHub.