- Proficient in Node.js with Express.js for building REST APIs.
- Skilled in TypeScript for type-safe backend logic.
- Designed and optimized schemas for PostgreSQL and MongoDB.
- Proficient in ORM tools like Prisma and Sequelize.
- Built REST APIs for CRUD operations and complex workflows.
- Designed GraphQL schemas with optimized resolvers.
- Designed session-based authentication systems using secure, server-stored session data.
- Used session cookies for maintaining user state across requests.
- Managed session expiration, invalidation, and storage using:
- SQL Caching: Optimized session-related database queries for faster lookups.
- Database-backed sessions: Stored session data in PostgreSQL or MongoDB for persistence and scalability.
- Implemented JWTs for stateless, token-based authentication in REST APIs.
- Compared and selected JWTs for lightweight systems versus session-based systems for security-critical apps.
- Integrated OAuth 2.0 for third-party authentication (e.g., Google, Facebook, GitHub).
- Developed RBAC systems to restrict resources based on user roles.
- Example: Admins accessing management features while standard users access customer-facing features.
- Used secure cookie flags like HttpOnly and SameSite for session cookies to prevent XSS and CSRF attacks.
- Implemented rate limiting and IP-based session validation to reduce the risk of brute-force and DoS attacks.
- Protected applications from SQL injection by using parameterized queries and ORM tools like Prisma to prevent direct query manipulation.
- Prevented Cross-Site Scripting (XSS) attacks by validating and sanitizing user input, ensuring only safe content is rendered in the application.
- Utilized CORS (Cross-Origin Resource Sharing) to control which domains can interact with the API, preventing unauthorized access.
- Implemented SQL caching to optimize database query performance and reduce load by caching frequently requested data at the database level.
- Utilized Apollo caching to optimize GraphQL query responses, reducing network calls and enhancing the client-side performance.
- Applied Next.js caching techniques, including static generation (SSG) and server-side caching (ISR), to improve page load speeds and scalability of the application.
- Helped with a scalable microservices architecture using Docker, enabling horizontal scaling and efficient resource management.