Hello, I’m Suraj Rawat.

(Overview)
Afull-featuredpublishingwebplatformbuiltforwritersandreaders.Itoffersaclean,typography-focusedreadingexperiencewitharticleauthoring,imageuploads,categorizedtagnavigation,readercomments,personalbookmarkreadinglists,andacontainerizeddeploymentsetup.
(Architecture)
BuiltwithReact19andExpresswithJWTauthentication,usingReduxToolkittomanageauthenticationandsavedpoststates.AuthorspublisharticleswithimageshandledthroughMulterdiskstorageandCloudinary.Thebackendenforcesstrictfilesystemhygiene:temporarylocaluploadsareimmediatelyunlinkeduponcompletionorerror,andreplacedordeletedimagesarepurgedfromCloudinaryusingpublicIDstopreventstorageleaks.Readerscanleavecommentswithin-placeediting,togglearticlelikes,andmanageapersonalbookmarkslistsynchronizedacrossviews.
(Engineering)
ImplementedarticlesearchusingaMongoDBaggregationpipelinewithlookupjoiningauthorprofilesandregexfilteringacrosstitles,tags,andauthornames.Thefrontendsearchinputincludesa500msdebouncehandlertominimizeserverrequests.Engineeredrelationalcascadedeletions:deletinganarticleautomaticallyremovesitscomments,clearsreferencesfromeveryuserreadinglist,anddeletesitsCloudinaryasset;deletinganaccountcascadesthroughallauthoredposts,comments,commentsonauthoredposts,andlikes.IntheDevOpssetup,DockerComposeorchestratesfrontendandbackendcontainers,withamulti-stageAlpineNginxDockerfilehandlingclient-sideSPAroutingandGitHubActionsdeployingtoAWSEC2.
BuiltthefullstackpublishingapplicationusingReact19,TailwindCSS,Express,andMongoDB.
ImplementedfullassetlifecyclemanagementwithMulterandCloudinary,includinglocalfileunlinkingandremoteassetdestruction.
Designedreal-timearticlesearchusingMongoDBaggregationpipelineswithlookupacrossauthorprofilesanddebouncedfrontendinput.
Builtin-placecommenteditingandglobalbookmarkstatemanagementusingReduxToolkit.
Engineeredrelationalcascadedeletionsacrossposts,comments,bookmarks,likes,anduserprofiles.
CreatedDockerComposeconfigurations,multi-stageAlpineNginxDockerfiles,andGitHubActionsCI/CDforAWSEC2deployment.
Gallery





Built with
Explore this project
Inspect the live deployment or browse the repository code.