Get ready to be blown away, ladies and gentlemen, hackers, dreamers, and code wizards! We've conjured something truly extraordinary in the depths of the TAIKAI cauldron, and it's time to unveil the magical wonders that we've been brewing lately.Prepare to witness the magnificent transformation of TAIKAI as we take our product to new heights! 😱In this recent chapter of our journey, we've focused on two key pillars: Security and Future Proofing. While we've certainly made enhancements to elevate the organizer and participant experience, our unwavering commitment was to ensure that our platform not only excels in usability but also sets new standards in terms of security, stability, and reliability.We've fortified our platform with robust security enhancements, implementing cutting-edge measures to safeguard your data and protect against emerging threats.Your peace of mind is our top priority! ✌️Our amazing team has worked tirelessly to weave a tapestry of features and improvements that will leave you spellbound. These are the main features and improvements made by our product team:Node 18 Version Compatibility 🔄Now all the TAIKAI applications are running on Node 18 and the packages used were updated to their most recent versions to fix some vulnerabilities found on old versions. Previously all the apps were running a version on Node 14 that is not under maintenance anymore.These updates were essential for the following reasons:Security: Running the hackathon platform on an outdated version of Node.js, such as Node.js 14, can pose security risks. As newer versions are released, vulnerabilities in older versions are discovered and exploited by malicious actors. By upgrading to Node.js 18, you ensure that the platform benefits from the latest security patches and fixes, reducing the risk of potential attacks.Stability and Performance: Node.js releases newer versions to enhance performance and improve stability. By migrating to Node.js 18, the hackathon platform can take advantage of the latest optimizations, bug fixes, and performance improvements introduced in the newer version. This can lead to better overall platform stability and improved response times, ensuring a smoother user experience during hackathons.Community Support and Maintenance: Node.js follows a Long-Term Support (LTS) release schedule, where specific versions receive extended maintenance and community support. Node.js 14, being an older version, is no longer under active maintenance.By transitioning to Node.js 18, you align the platform with the LTS release, guaranteeing ongoing updates, security patches, and access to a thriving community for support.This ensures that the hackathon platform remains up to date-and benefits from future enhancements and bug fixes.Package Vulnerabilities: Updating the packages used by the platform to their most recent versions addresses vulnerabilities found in older versions. Packages evolve over time, and developers continuously release updates to fix bugs, security issues, and other concerns. By utilizing the latest package versions, the hackathon platform mitigates potential vulnerabilities and ensures a more secure environment for participants and organizers.Compatibility and Future-proofing: As Node.js progresses, its ecosystem evolves with it. Newer packages and frameworks often require more recent versions of Node.js to function correctly. By migrating to Node.js 18 and updating the associated packages, the hackathon platform maintains compatibility with the latest tools and libraries.This future-proofs the platform, enabling easy adoption of new features, integrations, and enhancements as they become available.Leaderboard in Non Voting steps 🔖Now it is possible to enable the leaderboard, the voting current standing results, on a non voting hackathon step. This feature was requested by one of our customers and allow the participants to follow the results even when there is no voting scheduled.Configurable Hackathon Attendance ModeThe organizer now has the capability to specify whether the event is offline, online, or a hybrid event. The minted Proof of Participation (NFT) will accurately reflect the nature of the event through its image and metadata.Configurable List of Prize Currencies on Hackathons 💱The organizer now has the flexibility to utilize a wider range of currencies when setting the hackathon prize or submit a list of supported currencies to be accommodated by the platform. This enhancement allows for greater inclusivity and adaptability in catering to diverse currency preferences and requirements.External Project URL on Project Details 🌐The Hackathon participants are able to set an external URL that points to a demo website on the Project page. The Url will be shown on left corner of their project page just under the presentation link .2FA Authentication Brute Force Protection 💪To enhance the security of the platform, a 2FA Authentication Brute Force Protection mechanism was implemented. This feature involves blocking a user for a limited amount of time when they fail to input the 2FA (Two-Factor Authentication) code correctly for 3 times. The purpose of this measure is to prevent brute force attacks and safeguard the user's 2FA credentials. Here are the reasons behind developing this protection:Brute Force Attack Prevention: This measure significantly hinders attackers from guessing the correct 2FA code, as they are restricted by the platform's protective measures.Protecting User's 2FA Credentials: This protection mechanism safeguards the user's 2FA credentials, reducing the risk of compromised accounts and unauthorized activities.Time-Based Blocking: This time-based blocking prevents attackers from continuously attempting different codes, effectively slowing down their progress and making their efforts less feasible. It provides an additional barrier against brute force attacks by delaying subsequent attempts and discouraging attackers.User Experience Considerations: This approach allows legitimate users who might have made an error while entering the 2FA code to regain access after the specified blocking period, minimizing potential frustrations.File Upload Validation and Scanning of all the uploaded files 📁To bolster the security of the platform, a file scanning and quarantine feature has been implemented.This feature ensures that all files uploaded to the platform undergo a thorough scan, and if a malware, virus, or suspicious file is detected, it is immediately isolated and placed in quarantine. This security update will help us in:Malware and Virus ProtectionPreventing Attacks on the PlatformEarly Detection and MitigationUser Protection and TrustSecurity Incident ResponseProof of Participation NFT is now available to be minted on Private Hackathons ☑️With this new feature, organizers can now enhance the experience of private hackathons by enabling participants to mint public Proof of Participation NFTs (POPs). For internal hackathons, when the organizer enables this feature, participants will receive an email containing instructions on how to mint their POPs at the end of the event.Withdraw and Deposit $TKAI Feature Beta Version ⏳The Withdraw and Deposit $TKAI Feature Beta Version has been developed and is now accessible to a select group of users. This highly anticipated feature allows users to withdraw tokens from their wallets or deposit tokens from their wallets to the platform for internal use. Currently, the feature is in a BETA testing phase, where a limited set of users can test its functionality and provide feedback. Soon, we will advance with stage 2 of the BETA testing phase, and open it to more people in order to further collect feedback and identify exploits.After thorough testing, the feature will be deployed for public usage, ensuring its reliability and usability for all platform users.Invite Team Members by email 📧The Project Team Members Invitation feature allows existing team members to invite their friends to join a project effortlessly. By simply sending an email invitation, the project team member can provide their friends with a magic link.To recap 💭In summary, the security features and user experience considerations discussed in this article are essential for TAIKAI to protect its users' data while providing a seamless and enjoyable online experience.By implementing these measures such as 2FA time-based blocking, file upload validation, scanning of all uploaded files, invitation mechanisms for team members and minting public proofs of participation (POPs), we can ensure the users’ safety while maintaining trust. All of these measures combined will help create an overall secure environment with robust protections against attackers or malicious actors.