Skip to content

patelritiq/CodeClause-Internship-Projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CodeClause Internship Projects πŸš€

Python Flask Tkinter NiceGUI License: MIT

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.


Internship Overview πŸ“Š

Position: Python Development Intern
Company: Sudaku CodeClause
Duration: June 2024 – July 2024
Type: Hybrid (3 weeks remote + 1 week in-person)

Key Achievements

  • βœ… 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

Projects Overview 🎯

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.


Technologies & Skills Demonstrated πŸ› οΈ

Frameworks & Libraries

  • 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

Technical Skills

  • 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

Development Practices

  • 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

Repository Structure πŸ“

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

Quick Start πŸš€

Prerequisites

  • Python 3.9 or higher
  • pip package manager

Installation

  1. Clone the repository:

    git clone https://github.com/patelritiq/CodeClause-Internship-Projects.git
    cd CodeClause-Internship-Projects
  2. Install all dependencies:

    pip install -r requirements.txt
  3. 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.


Real-World Impact & Applications 🌍

LinkShrinkr - Marketing & Analytics

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.

QChat - Instant Communication

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.

Textalker - Accessibility & Learning

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.

Textor - Productivity & Writing Quality

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.


Key Learnings πŸŽ“

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


Contributing 🀝

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

License πŸ“„

This project is licensed under the MIT License - see the LICENSE file for details.


Author & Contact πŸ‘¨β€πŸ’»

Ritik Pratap Singh Patel
Former Python Development Intern @ Sudaku CodeClause

Internship Period: June 2024 – July 2024
Type: Hybrid (Remote + In-Person)

Connect:


πŸ™ Acknowledgments

  • 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

Project Statistics πŸ“ˆ

GitHub stars GitHub forks GitHub issues


Building practical Python applications for real-world impact. πŸš€βœ¨

About

A comprehensive collection of 4 Python applications developed during a hybrid internship at Sudaku CodeClause (Jun-Jul 2024). Includes LinkShrinkr (Flask URL shortener), QChat (NiceGUI chat app), Textalker (text-to-speech converter), and Textor (spell-checking text editor).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors