A comprehensive collection of 4 Python applications developed during a hybrid internship at Sudaku CodeClause (June-July 2024). These projects span desktop GUI tools and web applications, demonstrating proficiency in event-driven programming, authentication systems, real-time messaging, and user-centric interface design.
Position: Python Development Intern
Company: Sudaku CodeClause
Duration: June 2024 β July 2024
Type: Hybrid (3 weeks remote + 1 week in-person)
- β Developed 4 production-ready Python applications across desktop and web platforms
- β Implemented 3 different frameworks: Tkinter (Desktop GUI), Flask (Web), NiceGUI (Real-time Web)
- β Built 8 RESTful endpoints with authentication and session management
- β Created 3 database models with SQLAlchemy ORM and relationship mapping
- β Delivered reusable reference projects for internal demos and training materials
- β Strengthened hands-on experience in modular design and user-focused development
1. LinkShrinkr - Advanced URL Shortener π
Most Complex Project | Flask + SQLite + Authentication
A full-featured web application for URL shortening with user management and analytics.
Key Features:
- 8 Routes/Endpoints: Complete CRUD operations with authentication
- 3 Database Models: User, URL, Visit (with SQLAlchemy relationships)
- 6-Character Short URLs: Random generation with collision handling
- Visit Tracking: IP address and timestamp logging for analytics
- Bcrypt Security: Password hashing and secure session management
- 4 HTML Templates: Sign in, Sign up, Dashboard, Analytics
Tech Stack: Flask, SQLAlchemy, SQLite, Bcrypt, HTML/CSS/JavaScript
Impact: Demonstrates full-stack web development with authentication, database design, and user analytics.
2. QChat - Real-Time Chat Application π¬
Real-Time Messaging | NiceGUI + UUID
A minimalistic, real-time chat application with unique user identification and modern UI.
Key Features:
- Real-time Messaging: Instant updates without page reloads using refreshable components
- UUID-based Identity: Unique session-based user identification
- Robohash Avatars: Auto-generated unique user avatars
- Modern UI: Tailwind CSS styling with sent/received message alignment
- Enter Key Support: Quick messaging functionality
Tech Stack: NiceGUI, UUID, Robohash API
Impact: Showcases real-time web application development and reactive UI patterns.
3. Textalker - Text-to-Speech Converter π
Desktop GUI | Tkinter + pyttsx3
A user-friendly desktop application that converts text into speech with customizable voices and speed.
Key Features:
- Multi-Voice Support: System voice detection and selection (male/female)
- Speech Rate Control: Adjustable 50-300 WPM for personalized pacing
- Offline TTS: Local synthesis using pyttsx3 (no internet required)
- Event-Driven GUI: Clean Tkinter interface with real-time controls
Tech Stack: Python, Tkinter, pyttsx3
Impact: Demonstrates accessibility technology and desktop GUI development for assistive tools.
4. Textor - Text Editor with Spell Checking βοΈ
Desktop GUI | Tkinter + NLTK
A lightweight text editor with real-time spell checking and word count features.
Key Features:
- Real-time Spell Check: Live word validation with red highlighting
- Dictionary-based: English word corpus validation using NLTK
- File Operations: New, Open, Save functionality with file dialogs
- Word Count: Live document statistics in status bar
- Regex Processing: Efficient text parsing and highlighting
Tech Stack: Python, Tkinter, NLTK
Impact: Demonstrates text processing, file I/O, and real-time UI updates for productivity tools.
- Flask: Web framework for RESTful APIs and server-side rendering
- Tkinter: Desktop GUI development with event-driven programming
- NiceGUI: Modern web UI framework for real-time applications
- SQLAlchemy: ORM for database modeling and relationships
- pyttsx3: Text-to-speech synthesis engine
- NLTK: Natural language processing for spell checking
- Event-Driven Programming: GUI event handlers and callbacks
- Authentication & Security: Bcrypt password hashing, session management
- Database Design: SQLAlchemy models with one-to-many relationships
- Real-Time Communication: Refreshable components and instant updates
- File I/O: Reading, writing, and managing text files
- Text Processing: Regex patterns, word validation, highlighting
- Modular Architecture: Reusable components and clean code structure
- User-Centric Design: Intuitive interfaces and user experience focus
- Error Handling: Graceful error management and user feedback
- Code Documentation: Clear comments and docstrings
- Version Control: Git-based project management
CodeClause-Internship-Projects/
βββ 01-LinkShrinkr/ # URL Shortener (Flask + SQLite)
β βββ static/
β βββ templates/
β βββ app.py
β βββ models.py
β βββ database.db
β βββ requirements.txt
β βββ README.md
βββ 02-QChat/ # Chat Application (NiceGUI)
β βββ qchat.py
β βββ requirements.txt
β βββ README.md
βββ 03-Textalker/ # Text-to-Speech (Tkinter)
β βββ textalker.py
β βββ requirements.txt
β βββ README.md
βββ 04-Textor/ # Text Editor (Tkinter + NLTK)
β βββ textor.py
β βββ words.txt
β βββ requirements.txt
β βββ README.md
βββ requirements.txt # All dependencies
βββ .gitignore
βββ LICENSE
βββ README.md # This file
- Python 3.9 or higher
- pip package manager
-
Clone the repository:
git clone https://github.com/patelritiq/CodeClause-Internship-Projects.git cd CodeClause-Internship-Projects -
Install all dependencies:
pip install -r requirements.txt
-
Run individual projects:
# LinkShrinkr cd 01-LinkShrinkr python app.py # QChat cd 02-QChat python qchat.py # Textalker cd 03-Textalker python textalker.py # Textor cd 04-Textor python textor.py
Note: Each project has its own README with detailed setup and usage instructions.
Problem Solved: Long, unwieldy URLs in marketing campaigns and social media
Impact: Businesses can track click-through rates, analyze user engagement, and optimize marketing strategies. Enables branded short links for professional appearance and trust.
Problem Solved: Need for lightweight, real-time team communication
Impact: Small teams and startups can deploy instant messaging without expensive platforms. Reduces email overhead and enables quick decision-making in fast-paced environments.
Problem Solved: Content accessibility for visually impaired users and auditory learners
Impact: Makes written content accessible to everyone. Helps students with dyslexia, enables multitasking professionals, and supports language learning through pronunciation.
Problem Solved: Need for lightweight text editing with instant spell checking
Impact: Writers and students can catch errors in real-time without heavy software. Improves document quality and reduces editing time for quick notes and drafts.
Technical Skills: Event-driven programming, database design with ORM relationships, authentication systems, real-time UI updates, text processing algorithms
Frameworks Mastered: Flask (web), Tkinter (desktop GUI), NiceGUI (real-time web), SQLAlchemy (ORM), Bcrypt (security)
Professional Growth: Modular code architecture, user-centric design, project documentation, collaborative development, full-stack thinking
While these are internship projects, suggestions and improvements are welcome!
Areas for Enhancement:
- Additional features for existing projects
- Performance optimizations
- UI/UX improvements
- Documentation enhancements
- Test coverage
This project is licensed under the MIT License - see the LICENSE file for details.
Ritik Pratap Singh Patel
Former Python Development Intern @ Sudaku CodeClause
Internship Period: June 2024 β July 2024
Type: Hybrid (Remote + In-Person)
Connect:
- Email: patelritiq@gmail.com
- LinkedIn: linkedin.com/in/patelritiq
- GitHub: github.com/patelritiq
- Sudaku CodeClause: For the internship opportunity and project guidance
- Pranjal Kumar Dwivedi: Frontend collaboration on LinkShrinkr
- Open Source Community: Flask, NiceGUI, Tkinter, and Python ecosystem
Building practical Python applications for real-world impact. πβ¨