নমস্কার
24h
Automatic Task Expiry
3
Task Views
TTL
Database-level Cleanup
(Overview)
DoToismyfirstdeployedMERNapplication—aproductivityplatformbuilttoexplorereal-worldfull-stackdevelopment.ItcombinesaReactandReduxfrontendwithanExpressandMongoDBbackend,multipleauthenticationmethods,secureJWTrefreshhandling,andarecyclebinthatautomaticallycleansupdeletedtasksafter24hours.
(The Challenge)
AsmyfirstMERNproject,DoTowasmainlyaboutadaptingtotheReactecosystemandorganizingthefrontendintoaclean,modularstructure.Themorepracticalchallengecamewiththerecycle-binfeature:deletedtasksneededtobepermanentlyremovedafter24hours,butascheduledcleanupprocesswasunreliableonRender’sfreetierbecausetheservercouldsleep.
(The Solution)
Iinitiallyapproachedthe24-hourcleanupwithascheduledbackgroundprocess,butdeploymentconstraintsonthefreetiermadeacontinuouslyrunningjobunreliable.Whilesolvingtheproblem,IlearnedaboutMongoDBTTLindexesandmovedtheexpiryresponsibilitytothedatabaseitself.Deletedtasksaremarkedwithadeletiontimestamp,andMongoDBautomaticallyremovesthemaftertheconfigured24-hourexpirationperiod,makingtherecycle-binlifecycleindependentoftherunningapplicationserver.
Builtthefull-stackDoToapplicationusingReact,Express,Node.js,andMongoDB,withReduxToolkitforfrontendstatemanagement.
StructuredtheReactapplicationintoreusablemodulesandfeature-basedcomponentswhilebuildingtheresponsivetaskmanagementinterface.
Implementedsecureauthenticationwithemail/passwordlogin,GoogleOAuth,magiclinks,OTPpasswordrecovery,andHTTPS-onlyrefresh-tokencookies.
Builttaskfiltering,sorting,completed-taskmanagement,andarecyclebinwithrestorefunctionalityandautomatic24-hourtaskexpiry.
Implementedtheinitialscheduledcleanupprocess,thenredesignedtheexpirymechanismusingMongoDBTTLindexesafterencounteringserver-sleeplimitationsduringdeployment.




Built with
Haveaprojectinmind?
dattaiman56@gmail.com