Experience
2020 — Now
2020 — Now
• Built an authentication module for use in the Deno runtime environment, following the decorator design pattern to be flexible and modular to facilitate the integration of authentication and development experience
• Utilized OOP and ES6 class structure to develop middleware that can be integrated into the developer’s environment, allowing for configuration through developer input to accommodate the client-side setup
• Implemented Test Driven Development (TDD) methodology by employing Deno’s built-in assertion tests and SuperOak, an HTTP assertion library based on SuperAgent, for unit testing of middleware to facilitate the integration of new code and to minimize debugging of new features, and for endpoint testing to ensure proper server response
• Leveraged in Typescript to enforce a strongly typed format, ensuring errors are detected during compile-time rather than run-time to facilitate the debugging process, creating a maintainable and readable codebase
• Employed Docker to containerize a companion website to ensure cross-device capability and deployed through AWS Elastic Beanstalk, utilizing EC2, S3, and Route 53
• Implemented Travis-CI for CI/CD to automate GitHub workflow for Agile development
• Utilized Redis database in example SPA server to establish a persistent server-side session storage, allowing for fast active session lookups and serialization and deserialization of user data, limiting calls to external databases
• Implemented Server-Side Rendering to serve an example SPA using React to demonstrate the use of the Onyx authentication middleware in a Deno runtime environment, resulting in an improvement of page load time
• Product developed under tech accelerator OS Labs (opensourcelabs.io)
2020 — Now
• Utilized Passport.js to implement OAuth and local authentication, providing convenient and secure login options for users, minimizing interaction with user credentials and redirecting unauthenticated requests away from protected endpoints
• Leveraged TDD methodology using Jest, Enzyme and Supertest for front-end unit tests and server route integration tests to ensure codebase integrity and confirm protected routes are only accessible to authenticated users
• Harnessed Redux with Hooks to manage application state, leveraging the Flux architect pattern to establish a single source of truth
• Employed Webpack to transpile client-side codes, producing a light-weight bundle for faster load-time and better client-side caching, and configured proxy dev-server with hot module reloading for dynamic development and debugging
2020 — 2020
• Architected an ACID compliant SQL Database for the storage of user information and saved favorite data, mapping many-to-many relationships
• Incorporated Bcrypt for the encryption of sensitive client data and for use in user authentication
• Utilized the React-Bootstrap framework to encapsulate bootstrap specifications into components for a clean UI
2020 — 2020
2020 — 2020
• Architected a RESTful API service in Node.js with the Express framework to enable dynamic routing and custom middleware to handle HTTP/API requests to endpoints, implementing CRUD functionalities with a non-relational database
• Utilized the modularity of React to develop a SPA with reusable components following the Flux paradigm
• Leveraged React Router for dynamic client-side routing, streamlining display component hierarchy, increasing responsiveness and providing better client experience by reducing server calls and load times
• Employed custom React Hooks to manage local component-level state, improving code clarity and modularity
Education
Stony Brook University