This repository serves as a central directory for all my college and self-learning engineering projects.
It works as a portfolio, reference hub, and learning tracker for projects related to system design, networking, backend development, distributed systems, and software engineering concepts.
The purpose of this repository is to organize all project repositories in one place so they are easy to explore, maintain, and expand over time.
This is not a single project repository.
Instead, this repository acts as:
- A project index
- A learning roadmap
- A portfolio of engineering projects
- A reference guide for backend and system design concepts
Each project listed below is maintained in its own dedicated repository.
Projects focused on socket programming, communication protocols, and real-time systems.
- Sender Receiver System
- Interactive Chat System
- Multi-Client Chat Server
- Structured Chat Protocol
- Chat Rooms System
Projects related to APIs, backend architecture, authentication, and server-side development.
- URL Shortener
- Email/Password Authentication System
- User Authentication System
- Message Persistence System
Projects exploring scalability, distributed communication, persistence, and load balancing.
- Distributed Chat System
- Distributed Chat System with Persistence
- Load Balancer System
Projects related to encryption, secure communication, and authentication systems.
- Secure File Encryption System
- Authentication Systems
- Encryption Utilities
Projects focused on thread management, scheduling, and concurrent execution.
- Threaded Task Scheduler
- Multi-Client Systems
- Parallel Processing Experiments
Smaller projects focused on algorithms, utilities, and performance concepts.
- Run-Length Encoding Compression
- String Processing Utilities
- File Handling Experiments
The main goals of this repository are:
- Maintain a structured collection of engineering projects
- Track learning progress throughout college
- Practice real-world software engineering concepts
- Build scalable backend and distributed systems
- Improve problem-solving and system design skills
- Create reusable references for future projects
Projects inside this collection may include concepts such as:
- Socket Programming
- TCP/UDP Communication
- Multithreading
- Concurrency
- Distributed Systems
- Load Balancing
- Authentication & Authorization
- Encryption
- Persistence
- Backend Development
- REST APIs
- System Design
- Scalability
- Caching
- Communication Protocols
The projects in this collection are primarily built using:
- C++
- C
- Python
- Linux System Programming
- Socket APIs
- STL
- Multithreading Libraries
Planned future projects include:
- File Transfer System
- REST API Server
- API Gateway
- Rate Limiter
- Reverse Proxy
- Distributed Cache
- Notification Service
- Search Engine
- Job Queue System
- Logging System
- CDN Simulation
- Container Orchestrator
Each project repository may contain:
- Source Code
- Build Instructions
- Documentation
- Architecture Notes
- Feature Lists
- Future Improvements
This repository represents my engineering learning journey during college and beyond.
It is continuously updated as I explore new backend, networking, and distributed systems concepts.
Aditya Sonawane
GitHub: https://github.com/adityasonwane555
This repository is available for learning and educational purposes.