Project ideas for aspiring developers
This repository hosts a heap of ideas and links to resources for aspiring developers to go through. Most people learn from either doing something themselves or by watching others, thats why building a personal project that you have an interest in is a great way to learn. By learning to build the project you will pick up new skills along the way.
Hints and tips
- Think about the user experience of the project and who it is aimed at.
- Consider adding logging to your project to help with debugging.
- Manage your own environment by using tools such as virtualenv, Docker, VM's.
- Save yourself the headache of losing work by version controlling your code with git.
- Make it easy for your future self and others by documenting your code and projects detailing how to run it, the features it does/doesn't have and areas for improvement.
- If you have peers/friends that are also developers then ask them to do a code review.
- Follow a style guide such as google's style guide for Python and use tools that help you enforce it such as Black for Python and a good IDE such as VS Code.
- Get into the habit of building testable code and make unit tests as part of your project.
- Share your projects on GitHub! This will help you with future job opportunities and acts as free storage.
- Build your own BotNet using VM's
- Create a basic CRUD app
- Create your own query language
- Build your own dynamic website
- Poll your filesystem for changes and act on them
- Build your own REST API
- Build a chat app using Web Sockets
- Build your own static website and serve it on S3
- Scrape data from the internet
- Make a game
- Make a Web Browser plugin
- Build a GUI application
- Code Wars - Enhance your coding skills by tackling some easy/medium/hard/expert coding challenges (kata), learn new languages by translating the kata and build up a repository of useful code snippets.
🌎Real Python - Dan Bader and co will help navigate you through to becoming a Pythonista in no time, Real Python has plenty of advice for all ranges of abilities.
🌎PyImageSearch - Great for all things image based, including; image processing, classifications, regression, filtering, facial recognition, etc
🌎Full Stack Python - Contains a wealth of links to blogs for tutorials on very specific aspects of using Python.
🌎W3 Schools - Absolute classic way to learn the basics of web programming, this can be a little dry so try to combine the learning with a project you have in mind and follow some video tuts too!
🎥DesignCourse - (CSS/HTML) Gary shows you how to build impeccably designed UI's and gives you tips and a great workflow to follow when taking on similar projects.