GSSoC Approved Repository
🚀 Beginner-friendly projects | 💡 Learn by doing | 🎨 Clean UI | ⚡ Live demo available
This repository is a collection of small Python games and utility projects built to make learning Python more practical and engaging. It includes both command-line projects and a browser-based web app for trying the projects online.
python-mini-project/
|
├── games/
│ ├── Snake-Game/
│ ├── Rock-Paper-Scissor/
│ └── ...
├── math/
│ ├── Fibonacci-Series/
│ ├── Prime-Number-Analyzer/
│ └── ...
├── utilities/
│ ├── Text-to-Morse/
│ ├── Typing-Speed-Tester/
│ └── ...
├── web-app/
│ ├── css/
│ ├── js/
│ └── assets/
├── README.md
└── requirements.txt
- Python 3.10, 3.11, or 3.12
- Git (for cloning the repository)
- pip (Python package manager)
This repository uses UTF-8 for documentation, issue templates, and project metadata. If emoji or box-drawing characters appear as mojibake in a Windows terminal, switch the terminal to UTF-8 before viewing or running the files.
📋 Copy
git clone https://github.com/steam-bell-92/python-mini-project.git
cd python-mini-projectFor Linux/macOS:
📋 Copy
python3 -m venv venv
source venv/bin/activateFor Windows (Command Prompt):
python -m venv venv
venv\Scripts\activateFor Windows (PowerShell):
python -m venv venv
venv\Scripts\Activate.ps1📋 Copy
pip install --upgrade pip
pip install -r requirements.txtThe dependency set is tested on Python 3.10 through 3.12. Newer Python releases may not have compatible wheels for every pinned dependency yet.
Each Python project in games/, math/, and utilities/ folders can be run independently.
cd games/Snake-Game
python Snake-Game.pycd math/Fibonacci-Series
python Fibonacci-Series.pycd utilities/Text-to-Morse
python Text-to-Morse.pyThe web application provides a browser-based interface for all projects.
The web app requires Node.js and npm:
- Download from https://nodejs.org/ (v16 or higher recommended)
- Verify installation:
node --version && npm --version
📋 Copy
cd web-app
npm install
npm startThe app will open at http://localhost:3000 (or your configured port).
To verify that the projects work correctly, run the test suite:
📋 Copy
pytest tests/ -vFor specific test file:
pytest tests/test_smoke.py -v- Choose appropriate directory:
games/,math/, orutilities/ - Create a new folder with your project name (use PascalCase)
- Add your
.pyfile with the same name as the folder - Include a
README.mdin your project folder with usage instructions - Add tests in
tests/directory with prefixtest_
- Follow PEP 8 style guide
- Write docstrings for functions and classes
- Add unit tests for your code
- Test your project before submitting a PR
Always activate your virtual environment before working:
# Linux/macOS
source venv/bin/activate
# Windows
venv\Scripts\activateDeactivate when done:
deactivate- Games for quick interactive fun
- Math projects for learning logic and problem solving
- Utility tools for practical use cases
- A web app version for browser-based access
We appreciate all contributions to the Python Mini Projects Collection! Thank you to everyone who has helped make this project better.
This project is licensed under the MIT License - see the LICENSE file for details.
Found this helpful? Show some love!
- ⭐ Star this repo if you found it useful
- 🐛 Report bugs or suggest features via Issues
- 💬 Share with friends learning Python
- 🎓 Use in your classroom or coding club
Made with ❤️ for Python learners everywhere
If you learned something new, don't forget to star the repo! ⭐