Morse Code Converter (Morse-Talk)
Construction
- Input: IR sensor detects Morse signals (short = dot, long = dash).
- Processing: ESP32 firmware (morse_to_text.ino) times signals, converts them into Morse strings, and maps them to characters.
- Display: Characters appear on an LCD screen for immediate feedback.
- Communication: Text is sent via Bluetooth to a Python program.
- Output: Python converts text to speech; GSM module can place emergency calls.
Working Principle
- User taps signals → IR sensor captures ON/OFF durations.
- Firmware distinguishes dots, dashes, and gaps.
- Morse sequence is matched to a letter using a lookup table.
- Letter is shown on the LCD and transmitted to Python.
- Python speaks the message; GSM module dials if emergency code is triggered.
Mobile Application Development
What it uses
- JavaScript + React Native: A cross-platform mobile framework.
- React components & JSX: Used for building the user interface.
- Babel + Node/npm: For transpiling and dependency management.
- React Context API: Manages and shares state across the app.
How it works
- App.js: The main entry point that loads the application.
- AppNavigator.js: Handles all navigation between different screens.
- Screens + Components: Render the UI elements and contain the logic.
- Context: Provides a global state for data accessible across all screens.
End-to-End CI/CD Pipeline
Process Overview
- Used Terraform to provision an AWS CodePipeline.
- Configured the pipeline with: Source (GitHub/CodeCommit), Build (CodeBuild), and Deploy (CodeDeploy/EC2).
- Defined all required infrastructure using Terraform (IAM roles, S3 buckets, etc.).
- Used Terratest to write infrastructure tests and validate the Terraform modules.
- Applied Terraform to create the pipeline and confirmed successful setup.
DevSecOps Implementation
Process Overview
- Used GitHub Actions to automate the CI/CD workflow.
- Integrated security scanning: tfsec for Terraform and Trivy for Docker images.
- Implemented Sealed Secrets to manage Kubernetes secrets securely before deployment.
- Stored secrets in encrypted SealedSecrets format and applied them to the cluster via the pipeline.
- Ensured the workflow executed scans, applied secrets, and triggered deployment on each push.
ML-Powered Predictions
Applied machine learning models to solve real-world data problems, focusing on preprocessing, training, and evaluation.
Crop Recommendation
Developed a model to recommend optimal crops based on soil and environmental data. Compared Gaussian Naive Bayes, Decision Tree, and Random Forest, achieving ~99.5% testing accuracy with Random Forest.
Covid-19 Prediction
Built a model to predict COVID-19 test results using symptom and demographic data. Trained a Logistic Regression model and validated its performance with a confusion matrix and classification report.
Event Handler - Eventure
What it uses
- Flutter 3.x + Dart: Core framework and programming language for cross-platform app development.
- Riverpod 2.4.0: Modern and reactive state management solution.
- SharedPreferences: For local and persistent data storage.
- Material 3 + Google Fonts (Poppins): For clean, modern UI design.
- Clean Architecture + Provider Pattern: Ensures separation of concerns and maintainable codebase.
How it works
- main.dart: The entry point that initializes providers and loads the app.
- providers/: Manages authentication, event data, favorites, bookmarks, and theme state using Riverpod.
- screens/: Contains UI for login, signup, event browsing, details, and settings.
- services/: Handles authentication logic, API calls, and storage operations.
- widgets/: Includes reusable UI elements like event cards, drawers, and loaders.
- theme/: Defines app-wide light, dark, and system themes.
- utils/: Provides helper functions like custom page transitions.