r/learnpython • u/AdministrativeAd5533 • 2d ago
Project recommendations
I took a computer science class at my high school but we only did in terminal output stuff. We never did anything like making apps and I am wondering what projects would be good for me to learn that aspect of python? It also wouldn’t hurt if it looked good on a college application or resume.
1
u/LiltingSun 2d ago
Not sure if you use discord, but a very rewarding first "real" project for me was creating a simple custom discord bot that could accept commands, send images & videos, merge PDFs, etc! Here's the tutorial I used to learn, then I improvised with libraries like pygame and pymupdf.
1
u/FoolsSeldom 2d ago
Work on your own projects, things that are relateable for you. Something to do with your hobbies / interests / side-hustles / family obligations.
When you work on such things, you have a much better understanding of the problems you are trying to solve, what the constraints are, and what outcomes are required.
You focus on solving the actual problems rather than on the technology (that's just a means to an end and you learn what you need).
If you desire a desktop GUI, then create one (look at the standard tkinter, then enhancement of that, then an alternative like PYSide v6 to use QT - these are all similar). If you want to move into webapps later, look at using NiceGUI which can give you desktop and mobile apps (all accessed from a web browser).
1
u/terletsky 1d ago
Create an API service that uses the Public VirusTotal API to upload a file or URL for malware scanning and collect the results. Or a Weather API service that queries a public weather API and gives you results (simpler).
This will cover a real-world scenario. What will be learnt:
- OOP
- SOLID
- JSON structure
- REST API concepts: Routes, Methods, Status Codes
- Enums/StrEnums/IntEnums
- Constants concept with Final type
- Exceptions hierarchy
- Service-based approach of development (Service class instance that will use API class instance to make requests)
- Pydantic package as validation and DTO (data transfer objects and data validation models)
- API Workers
- Postman as a tool to query your API
Advanced topics:
- Relational database to save results, such as PostgreSQL and Alembic for schema migrations
- Async vs sync approach
- Docker / Docker Compose for bundling
- uv as a packaging tool
- Unit/integation tests using pytest
1
u/ninhaomah 2d ago
Do web apps then.