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 # project

1. KSFramework: a Unity 5 Asset Bundle game development framework that integrates KEngine, SLua and XLua. It provides an auxiliary tool set for programmers, art, planning, operation, many large games are used in the project, come to learn it


C + + project

FlowChar: a small tool for generating pure character flow diagrams from pseudocode. Let the user only need to write a simple pseudo code, can generate the corresponding flow chart. The project structure is clear, simple to use, less code for use and “play”. Here’s an example:


Notepanda: this is a notepad project developed with C++ and Qt. Support code highlighting, custom font styles, and command line call: Notepanda main. CPP for Windows, Linux, and MacOS. Can be used to learn Qt, how to do open source projects


Yuzu: A free open source Simulator for Nintendo Switch. Just open source project, currently only support Windows, Linux, some mainstream games: Legend of Zelda, Pokemon, Mario, etc


The CSS project

Css.gg: Open source icon UI library. Supports CSS, SVG, Figma, and NPM


Go project

Grpcui: gRPC Web page debugging tool. The project provides an interactive debugging interface that will help you develop gRPC


Uptoc: A Go – based static blog deployment tool for cloud storage. Static blogs, whether deployed on GitHubPages or Netlify and other platforms, have the problem of slow access in China. The best way to solve this problem is to deploy in domestic cloud storage, such as Tencent Cloud COS, Ali Cloud OSS, Qiuniuyun and so on. With this tool you can quickly upload to the above cloud storage platform and speed up your static blog access

# installation
curl -sSf http://uptoc.saltbo.cn/install.sh | sh
# use
uptoc --driver oss --region cn-beijing --access_key xxx --access_secret xxx --bucket demo-bucket /opt/blog/public
Copy the code

8, XLSX: read and write XLSX file Go library. Sample code:

//example type
type structTest struct {
    IntVal     int     `xlsx:"0"`
    StringVal  string  `xlsx:"1"`
    FloatVal   float64 `xlsx:"2"`
 IgnoredVal int `xlsx:"-"`  BoolVal bool `xlsx:"4"` } structVal := structTest{  IntVal: 16. StringVal: "heyheyhey :)!". FloatVal: 3.14159216. IgnoredVal: 7. BoolVal: true.} //create a new xlsx file and write a struct //in a new row f := NewFile() sheet, _ := f.AddSheet("TestRead") row := sheet.AddRow() row.WriteStruct(&structVal, - 1)  //read the struct from the same row readStruct := &structTest{} err := row.ReadStruct(readStruct) iferr ! =nil {  panic(err) } fmt.Println(readStruct) Copy the code

Reminiscent: Go written on a high level, open source SQL audit platform


Java project

Jbake: Java-based open source static website, blog generator. Common commands are as follows:

# quickly start $curl - "https://get.sdkman.io" s | bash $SDK install jbake $mkdir awesome - jbake && CD awesome - jbake $jbake - I  $ jbake -b -sCopy the code

Jbake -h # View the help documentation jbake -i # Install depends on jbake -s # run the project


11. KkFileView: multi-type file online preview project based on Spring Boot. Support a variety of files such as doc, PPT, XLS, MP4, TXT, etc., powerful for rapid development and secondary development


12. Zfile: free and open source online cloud disk project. Features:

  • Folder password
  • Supports online viewing of text files, videos, pictures, and music
  • File/directory QR code
  • Global search
  • , etc.

13. Schedulis: a workflow task scheduling system based on Azkaban. The scheduling system has high performance, high availability (decentralized multi-scheduling center and multi-executor) and multi-tenant resource isolation. Features:

  • Regular Command Shell and Linkis (HadoopMR, Hive, Spark, Sqoop, Python) big data tasks
  • Features data checking and workflow dependencies between tasks
  • Complete alarm and workflow execution policies
  • Provides multiple types of parameter Settings, dynamic global variables and an easy-to-use UI

JavaScript project

Typical: a zero-dependent, 400-byte input animation library. Sample code:

import {
    type,
    type as loop
};

const steps = [1000.'Ready'.1000.'Set'.1000.'Go'];  type(element, ... steps, loop);Copy the code

HueJumper2k: a 2KB 3D racing game implemented with JS. Try online


Avataaars-generator: A cartoon avatar generator based on React. Try online


Jexcel: a lightweight, powerful spreadsheet library. Easy to achieve complex data table management, support JS array, JSON, CSV and other data, and can achieve excel files directly copy and paste. Sample code:

var data = [
    ['Jazz'.'Honda'.'2019-02-12'.' '.true.'at $2.000, 00'.'# 777700'].    ['Civic'.'Honda'.'2018-07-11'.' '.true.'at $4.000, 01'.'# 007777'].];

jexcel(document.getElementById('spreadsheet'), {  data:data,  columns: [  { type: 'text'.title:'Car'.width:120 },  { type: 'dropdown'.title:'Make'.width:200.source: ["Alfa Romeo"."Audi"."Bmw"]}, { type: 'calendar'.title:'Available'.width:200 },  { type: 'image'.title:'Photo'.width:120 },  { type: 'checkbox'.title:'Stock'.width:80 },  { type: 'numeric'.title:'Price'.width:100.mask:'$# # #, 00'.decimal:', ' },  { type: 'color'.width:100.render:'square',} ] }); Copy the code

Form-create: a form generator that automatically generates dynamic rendering, data collection, validation, and submission using JSON. Easily handle complex forms with built-in common form components and custom components. Support for iView, Element-UI, and Design-vue


Python project

MrDoc: an online documentation system based on Python. Support Markdown grammar, corpus classification, scientific formula, flow chart, mind map and other content. Clean reading interface, you can also package and export content as Markdown files, EPUB files, PDF files. Suitable as a private document service for individuals and small teams


20, geek_crawler: geek time course (currently only supports audio, graphic) to download to your local Python scripts. You need to input your account password before you can save the specified Geek time column courses to your local computer, which is convenient for learning anytime and anywhere


Fastapi: a high-performance Web framework based on Python 3.6+. Writing with FastAPI is fast and easy to debug. Python is improving and it builds on those improvements to make Web development faster and stronger. Sample code:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def read_root(a):  return {"Hello": "World"}  @app.get("/items/{item_id}") async def read_item(item_id: int, q: str = None):  return {"item_id": item_id, "q": q}  Uvicorn main:app --reload Copy the code

Swift project

22. Vimr: macOS version of Neovim


23. SwiftUI: This project refers to the official SwiftUI example to record the code and show the effect

other

Winget-cli: Microsoft open source Windows package manager to help developers quickly install tools (preview). Winget install

winget install


Fullstackopen is a free and open source Web fullstack programming course. Learn React, Redux, Node.js, MongoDB, GraphQL, and TypeScript as a one-stop shop for modern Web programming techniques based on JavaScript. ReactJS lets you build single-page applications using REST apis developed with Node.js


26. Vim: ViM official warehouse


Play IDE overtime away from you, IntelliJ IDEA skills warehouse

28. GitHub520: Solve the problem of slow access to GitHub by modifying hosts. Based on GitHub Action, ipAddress automatically obtains and outputs the latest IP address corresponding to GitHub domain name, which is valid for a long time. Users do not need to install and run the code, but directly copy the contents of the project home page to take effect

Open source books

29, Thinking – in-Java-zh: Chinese version of Java Programming Ideas Read online

Machine learning

Posit-animator: a PoseNet and FaceMesh tool that animates your poses in 2D. Create animated characters that respond to your facial expressions and body movements, so try creating your own 2D mirror


31, real-world-masked – face-dataset: Masked Face Dataset

Scikit-opt: a Python code library that encapsulates seven heuristic algorithms. They are: differential evolution algorithm, genetic algorithm, particle swarm optimization, simulated annealing algorithm, ant colony algorithm, fish swarm algorithm, immune optimization algorithm, example code:

from sko.GA import GA_TSP

ga_tsp = GA_TSP(func=cal_total_distance, n_dim=num_points, size_pop=50, max_iter=500, prob_mut=1)
best_points, best_distance = ga_tsp.run()
Copy the code

33. Photo2cartoon: An open source project that transforms real photos into cartoons. The effect is as follows:



The last

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