My internship at Datawave Labs provided a hands-on experience as a Full Stack Engineer, immersing me in the development of a scalable, cloud-driven data intelligence platform. Below are detailed insights into the work I accomplished.
Authentication and Authorization Systems
Designed and implemented a robust authentication system using JWT-based session management. Key tasks included:
- Email/Password Authentication: Built a secure login and signup flow with password hashing and email verification to ensure account authenticity.
- Google OAuth Integration: Enabled Google Sign-In using OAuth 2.0, simplifying user onboarding with secure access tokens.
- Role-Based Access Control (RBAC): Developed middleware to restrict access to specific resources based on user roles.
Created seamless integrations for AWS, Azure, and GCP accounts, allowing users to manage cloud resources effortlessly. Key highlights:
- Credential Handling: Implemented secure forms to collect and validate cloud credentials such as AWS Access Keys, Azure Tenant IDs, and GCP JSON files.
- Cloud Resource Management: Developed connectors for AWS S3, Azure Storage, and GCP Storage, enabling unified interaction with cloud services.
Infrastructure Automation
Automated cluster management workflows for infrastructure deployment. My contributions included:
- API-Driven Cluster Creation: Developed APIs to deploy Docker containers, reducing manual intervention in infrastructure management.
- Real-Time Status Updates: Leveraged Event Source to provide users with live feedback on cluster creation and deletion processes.
Built a real-time notification system using Redis Pub/Sub for efficient communication. Features included:
- Real-Time Alerts: Delivered critical updates on system events, enhancing user experience and operational awareness.
- Notification Management: Created APIs to handle notifications, including read and delete functionalities.
Worked extensively on the frontend using modern tools to enhance usability:
- ReactJS and Tailwind CSS: Built responsive and accessible interfaces for authentication, cloud integration, and notifications.
- State Management with Recoil: Implemented efficient state handling to ensure a seamless user experience.
Developed a scalable backend infrastructure using:
- FastAPI: Built high-performance APIs for authentication, cloud integrations, and cluster management.
- Database Management: Migrated from psycopg2 to SQLAlchemy ORM for better schema management and maintainability.
Contributed to the project's scalability and reliability through DevOps practices:
- Containerization with Docker: Ensured environment consistency for backend services.
- Kubernetes Integration: Orchestrated clusters for high availability and load balancing.
- CI/CD Pipelines: Implemented automated build and deployment pipelines to streamline releases.