A person remains a beginner for 1000 days. He finds the truth after 10000 days of practice.
This is a quote from Oyama Masutatsu that sums up the point of the article quite well. If you want to be a great developer, put in the effort. This is the whole secret. Spend many hours at the keyboard and don't be afraid to practice. Then you will grow as a developer.
Here are 7 projects that can help you grow. Feel free to choose your technology stack - use whatever your heart desires.
(previous lists of tasks for training: 1)
Project 1: Pacman
Create your own version of Pacman. It's a great way to get an idea of ββhow games are developed, to understand the basics. Use a JavaScript framework, React or Vue.
You will learn:
- How elements move
- How to determine which keys to press
- How to determine the moment of collision
- You can go further and add motion control for ghosts
An example of this project can be found
"The master makes more mistakes than the novice tries"
Publishing Support - Company
Project 2: User management
Project
Creating a CRUD type application for user administration will teach you the basics of development. This is especially useful for novice developers.
You will learn:
- What is routing
- How to handle data entry forms and validate what the user has entered
- How to work with the database - create, read, update and delete actions
Project 3: Checking the weather at your location
Project
If you want to create apps, start with a weather app. This project can be done using Swift.
In addition to gaining experience in creating an application, you will learn:
- How to work with the API
- How to use geolocation
- Make your application more dynamic by adding text input. In it, users will be able to enter their location to check the weather in a specific location.
You will need an API. To get weather data, use the OpenWeather API. More information about the OpenWeather API
Project 4: Chat window
My chat window in action, open in two browser tabs
Creating a chat window is the perfect way to get started with sockets. The choice of technical stack is huge. Node.js is great, for example.
You will learn how sockets work and how to implement them. This is the main advantage of this project.
If you are a Laravel developer who wants to work with sockets, please read my
Project 5: GitLab CI
If you are new to continuous integration (CI), play around with GitLab CI. Set up a few environments and try running a couple of tests. It's not a very difficult project, but I'm sure you'll learn a lot from it. Many development teams are currently using CI. Knowing how to use it is useful.
You will learn:
- What is GitLab CI
- How to configure
.gitlab-ci.yml
which tells the GitLab user what to do - How to deploy to other environments
Project 6: Website Analyzer
Make a scraper that analyzes the semantics of websites and creates their rankings. For example, you can check for missing alt tags on images. Or check if the page has SEO meta tags. Scraper can be created without a user interface.
You will learn:
- How the scraper works
- How to create DOM selectors
- How to write an algorithm
- If you don't want to stop there, create a user interface. You can also create a report for each website you check.
Project 7: Determining Social Media Sentiment
Determining social media sentiment is a great way to get familiar with machine learning.
You can start by analyzing just one social network. Usually everyone starts with Twitter.
If you already have experience with machine learning, try to collect data from different social networks and combine them.
You will learn:
- What is machine learning
Happy practice.
Translation: Diana Sheremyova
Source: habr.com