開源日報 每天推薦一個 GitHub 優質開源項目和一篇精選英文科技或編程文章原文,堅持閱讀《開源日報》,保持每日學習的好習慣。
今日推薦開源項目:《從頭開始 vanillawebprojects》
今日推薦英文原文:《Bored? 7 Fun Things You Can Build》

今日推薦開源項目:《從頭開始 vanillawebprojects》傳送門:GitHub鏈接
推薦理由:新手上路最開始用的就是基礎的 HTML+CSS+JS 三件套,而在框架和庫越來越多的現在,更多的時候使用它們來提高效率是常見的選擇。這個項目則是反過來,是使用老三件套實現的一些小項目合集,不管是為了更好理解框架,還是為了驗證一下自己的知識水平,重新操刀老三件套都不失為一個好選擇,要知道不管是什麼框架和庫,基礎都是由這三板斧搭建起來的。
今日推薦英文原文:《Bored? 7 Fun Things You Can Build》作者:Daan
原文鏈接:https://medium.com/better-programming/bored-7-fun-things-you-can-build-91833439b5d4
推薦理由:無聊時的精選,學生黨接下來可還要待家裡好久呢

Bored? 7 Fun Things You Can Build

From Tetris to smart contracts and more

There is no real secret when it comes to becoming a great developer. The thing that separates great developers from mediocre developers is the effort they』ve put in. Unfortunately, there are no shortcuts. Getting your hands dirty is what will make you grow as a developer.

So while you』re on your way to becoming a fantastic developer, why not do it making something that』s actually fun to build?

What』s fun to build? You』ve probably thought about this for a while. You want to build something but you don』t know what…well, let me help you out.

In this piece, I』ll share seven projects with you that are both challenging and fun.

Project 1: Hardware That Waters Your Plants


Photo by Harrison Broadbent on Unsplash

This is a project I』ve been wanting to work on for myself for quite some time. When developing, I spend a lot of my time on web development. But software development is just so much more! If you like the combination of software and hardware this project is for you.

This project aims to water your plants automatically. All you need for this is an Arduino (or Raspberry Pi), a moisture sensor, and a water pump. The goal is to write a piece of code that keeps your plants alive for as long as possible.

What you』ll learn:
  • The basic usage of an Arduino (or Raspberry Pi).
  • Reading sensors.
  • The interaction between software and hardware.

Project 2: Tetris


Check the GitHub repository here

Building Tetris is a great way to get a feeling of how games are developed from a basic perspective. If you want to make an app you could use Swift for this project. If you want to make this using HTML5, you could go for a JavaScript framework, like React or Vue.

Things you』ll learn:
  • The movement of entities.
  • The detection of key presses.
  • Collision detection.
Find the example GitHub repository here.

Project 3: Smart Contract


The official Solidity documentation

Cryptocurrency has been a hot topic for a few years now. Despite this, there still aren』t many developers capable of writing smart contracts.

Many blockchains that use smart contracts — the Ethereum blockchain currently being the biggest of them. The programming language that』s used for these Ethereum smart contracts is called Solidity.

To get started with writing a smart contract you could start with a smart contract that sends transactions. If you want a more advanced smart contract, you could make one that functions as an escrow.

What you』ll learn:
  • A whole different mindset when it comes to programming.
  • Blockchain.
  • The basics of Solidity.
You can find a great starting point for Solidity here.

Project 4: Classification of Iris Flowers


Source

If you are new to the world of machine learning, then the classification of iris flowers is a great way to get a grasp of what machine learning is all about. That』s because this project is known as the 「Hello World」 of machine learning projects.

The aim of this project is to classify iris flowers among three species (setosa, versicolor or virginica) based on measurements of length and width of sepals and petals. This project is perfectly suited being made in Python. All you need to get started is the data set.

What you』ll learn:
  • You will get a grasp of machine learning

Project 5: Contribute to Open Source


Want to know more? Check this

If you』re not the type of person that likes doing solo projects, you could always choose to contribute to open source. It might seem scary at first sight but there are lots of projects that could use a little help.

If you don』t feel comfortable enough to submit pieces of code, that』s fine. Contributing can be as simple as checking a pull request.

Pick a project you like and start helping people out!

Here』s a good starting point if you want to contribute to an open-source project on GitHub.

What you』ll learn:
  • Open source is fun and engaging, you meet awesome people.
  • Huge variety in projects.
  • Lots to learn from different people.

Project 6: Creating Your Own Trading Algorithm


Photo by M. B. M. on Unsplash

Creating your own trading algorithm is a project that requires a lot of finetuning. But before you can start building your algorithm you should do some research on trading strategies. Once you』ve got your strategy figured out, you can use a free stock API, like IEX Cloud, to check current the prices of your stocks.

Let the algorithm run for some time and see how it performs. There are plenty of stock simulators you can use that will let you play with virtual cash instead of real cash.

What you』ll learn:
  • Learning and implementing trading strategies (algorithm).
  • Interacting with an API.
  • You could go the extra mile by letting the algorithm decide which stocks or assets to buy.

Project 7: Dashboard


Source

There are lots of out-of-the-box projects available when it comes to dashboards — but nothing』s as fun as building your own!

This is one of the easier projects from this list. Very useful for developers who are just starting out. You can make this in basic HTML5 and CSS but if you want to go the extra mile, add React or Vue into the mix.

What you』ll learn:
  • Web development basics, like HTML5 and CSS.
  • Implementing graphs.
  • Interacting with the database.
  • Don』t want to do all the CSS yourself? Let Tailwind help you out!

Now it』s Your Turn!

It』s time to do some real work and have fun while you learn new things. These projects should keep you busy for quite some time. Picked one and just go for it!

I would love giving you feedback on your project — I』m looking forward to seeing the results.
If you can』t have fun, there』s no sense in doing it — Paul Walker
Happy coding!
下載開源日報APP:https://openingsource.org/2579/
加入我們:https://openingsource.org/about/join/
關注我們:https://openingsource.org/about/love/