Skip to main content

Projects

Siddharth Sengupta
Author
Siddharth Sengupta
Full Stack Software Developer
Table of Contents

Walletora: E-Wallet
#

Tech Stack:

TypeScript, Next.js, Node.js, Express.js, Turborepo, Docker, CI/CD, Postgres

    • Built monorepo using Turborepo with Next.js user app and Express.js webhook server
    • Implemented user authentication using NextAuth; developed balance tracking and peer-to-peer money transfer features
    • Integrated webhooks for real-time deposits from bank accounts to user wallets
    • Ensured ACID compliance using PostgreSQL transactions and row-level locking with ”FOR UPDATE” clause
    • Used Docker to containerize the apps and host images in Docker Hub
    • Created CI/CD pipelines with GitHub Actions for building and deploying Docker images to AWS EC2

Multithreaded Secure FTP Client-Server Application
#

Tech Stack:

C++, OpenSSL, Zlib, SQLite, CMake

    • Developed a Secure Multithreaded FTP Server where concurrent clients can: list, upload, download, rename and delete files
    • Used OpenSSL for secure file transfer using TLS protocol and used TCP optimizations to dynamically manage Nagle’s algorithm
    • Improved file transfer speed by 30% utilizing sendfile() zero-copy syscall and kernel-space data encryption using kTLS
    • Built a threadpool to handle concurrent clients efficiently, ensuring synchronization with locks and condition variables.
    • Created a secure user authentication system with OpenSSL’s PBKDF2 hashing for passwords and SQLite for database management.
    • Utilized Zlib’s Gzip for on-the-fly file compression/decompression and automated builds with CMake

Blonote
#

Tech Stack:

TypeScript, Cloudflare Workers, Hono.js, PostgreSQL, Prisma, React, Tailwind

    • Developed a blogging platform with Sign Up/Log In functionality and Notion-style text editing using BlockNote (supports headings, images, lists, tables, and text formatting)
    • Created and deployed the backend on Cloudflare Workers using Hono for routing
    • Implemented Prisma Accelerate for connection pooling and Prisma ORM to manage data in a PostgreSQL database
    • Ensured secure authentication with JWT and password hashing using PBKDF2; validated inputs with Zod
    • Created responsive and optimal frontend using React and Tailwind

FlySh UNIX Shell
#

Tech Stack:

C, GNU Make, Syscalls, Compiler Design

    • Developed a custom UNIX shell capable of executing standard commands such as ls, echo, pwd, rm, cat, clear, etc
    • Designed and implemented a Lexer, Parser, Tokenizer, and Abstract Syntax Tree (AST) to process user inputs
    • Handled command execution using syscalls like execv, fork, and waitpid for process management

Train Ticket Booking Management System
#

Tech Stack:

Java, Gradle

    • Created a CLI program based on OOPs principles using which users can book trains tickets from one destination to another
    • Features included: Sign up/Log in, Searching train according to source/destination, Booking tickets for seats of the selected train, Cancelling booking
    • Used Java8 features like: Stream API (to iterate easily and perform map/filter), Optional (to avoid NullPointerException)
    • Used Jackson ObjectMapper to serialize/deserialize data from/to JSON files where in-memory data about users and trains are stored, used Bcrypt to hash passwords and used Gradle as the build tool