Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Myriad Social Milestone 3 Deliverables Submission #1221

Merged
merged 11 commits into from
Nov 20, 2024
51 changes: 51 additions & 0 deletions deliveries/myriad_social-milestone_3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@

# Milestone Delivery :mailbox:


**The delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).**

* **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/myriad_social.md



* **Milestone Number:** 3

**Context** (optional)
> Please provide a short paragraph or two connecting the deliverables in this milestone and describing their purpose.
## Summary of Deliverables for Myriad Social's Polkadot Grant

### 0a. License
Our project is released under the GPL 3.0 License, ensuring it's open-source and fostering a community-driven approach.

### 0b. Documentation
We've included a comprehensive [documentation](https://github.com/myriadsocial/myriad-web/blob/main/docs/milestone-3-documentation.md) in the README file on our GitHub repo. This serves as a guide for the entire project.

### 0c. Testing and Testing Guide
We've prepared a [Testing Guide](https://github.com/myriadsocial/myriad-web/blob/main/docs/milestone-3-testing-guide.md). This guide, also found in the README, outlines how to test the project using Docker.

### 0d. Docker
For ease of testing, we have a [Dockerfile](https://github.com/myriadsocial/myriad-infrastructure/blob/main/linux/Dockerfile) ready to make the setup as smooth as possible. This Dockerfile has been updated to reflect the changes in this Milestone 3.


**Deliverables**
> Please provide a list of all deliverables of the milestone extracted from the initial application and a link to the deliverable itself. Ideally, all links inside the below table should include a commit hash, which will be used for testing. If you don't provide a commit hash, we will work off the default branch of your repository. Thus, if you plan on continuing work after delivery, we suggest you create a separate branch for either the delivery or your continuing work.
>
> If there is anything particular about any deliverables we or a future reader should know, use the respective `Notes` column.

| Number | Deliverable | Link | Notes |
| ------------- | ------------- | ------------- |------------- |
| 0. | Deployment of Myriad Social on Paseo Network | https://polkadot.js.org/apps/?rpc=wss://ws-rpc.paseo.myriad.social/websocket/#/explorer | Myriad Social is now part of the Paseo network as a Parachain with ParaID 4005. This integration brings new features and better connectivity to everyone using Myriad. We've completed the token migration from Octopus Testnet to Myriad Paseo! All user funds have been safely moved through our automated airdrop process. This migration ensures that all user balances are preserved, tokens are now active on Paseo Network, and no action is needed from users - funds are already transferred |
| 1. | New UI (Front-end), Polkadot Setup, Connection, and User Guide | 1. https://github.com/myriadsocial/myriad-web/commit/b66e3162 - Update the image for timeline and send-tip (#1964)<br>2. https://github.com/myriadsocial/myriad-web/commit/047801e5 - Update nova wallet tutorial - Documentation 3 (#1962)<br>3. https://github.com/myriadsocial/myriad-web/commit/46103d40 - Add exclusive timeline feature (#1959)<br>4. https://github.com/myriadsocial/myriad-web/commit/c813b68a - Add new login method (#1957)<br>5. https://github.com/myriadsocial/myriad-web/commit/de6df799 - Fix exclusive content on mobile (#1939)<br>6. https://github.com/myriadsocial/myriad-web/commit/82ef2169 - Fix notification spacing (#1938)<br>7. https://github.com/myriadsocial/myriad-web/commit/9b83c821 - Fix notification message (#1934)<br>8. https://github.com/myriadsocial/myriad-web/commit/1e8d1b60 - Fix new mobile create post UI (#1922)<br>9. https://github.com/myriadsocial/myriad-web/commit/155c9bfa - feat: revamp ui mobile home (#1813)<br>10. https://github.com/myriadsocial/myriad-web/commit/59807dd2 - Revamp UI desktop (#1799) | We have revamped the Polkadot wallet integration process to make it more user-friendly. A step-by-step guide with interactive tooltips now assists you through every stage of connecting your Polkadot wallet. ![Connect to Myriad on Paseo](https://github.com/myriadsocial/myriad-web/raw/main/docs/select-wallet.png "Connect to Myriad on Paseo")![Wallet sign-in](https://github.com/myriadsocial/myriad-web/raw/main/docs/wallet-sign-in.png "Wallet sign-in") These wallet improvements make it easier for everyone to use Web3 features. With clearer steps and helpful guides, connecting your wallet is now simpler and safer. |
| 2. | Simplified Transaction Flow for Tipping and Exclusive Content | https://github.com/myriadsocial/myriad-web/commit/b66e3162 - Update the image for timeline and send-tip (#1964)<br>2. https://github.com/myriadsocial/myriad-web/commit/46103d40 - Add exclusive timeline feature (#1959)<br>3. https://github.com/myriadsocial/myriad-web/commit/de6df799 - Fix exclusive content on mobile (#1939)<br>4. https://github.com/myriadsocial/myriad-api/commit/fa6432cf - Update transaction search for exclusive timeline (#983)<br>5. https://github.com/myriadsocial/myriad-api/commit/98c713ef - Update exclusive timeline exclusion logic to fetch transaction (#981)<br>6. https://github.com/myriadsocial/myriad-api/commit/024118df - Exclu (#979)<br>7. https://github.com/myriadsocial/myriad-api/commit/dd7e5ea2 - Return empty array when timeline is exclusive (#978)<br>8. https://github.com/myriadsocial/myriad-api/commit/b67661cc - Add exclusiveness to timeline model (#974) | We have streamlined the transaction processes for tipping creators and accessing exclusive content, ensuring a smoother experience. ![Send Tip](https://github.com/myriadsocial/myriad-web/raw/main/docs/step-send-tip.png "Send Tip") ![Send MYRIAr](https://github.com/myriadsocial/myriad-web/raw/main/docs/send-tip-myriar.png "Send MYRIAr") The new Tipping Enhancements bring a more seamless and transparent experience for users. With a unified interface, the tipping window is now consolidated and easy to navigate, simplifying the process. Quick access buttons allow users to tip creators directly from their posts without the need for extra navigation, making support instant and effortless. Moreover, transparent fees ensure that any transaction costs are clearly displayed before confirming a tip, fostering trust and clarity in every transaction. |
| 3. | Simplified Timeline Discovery and First Step Guide for New Users | 1. https://github.com/myriadsocial/myriad-web/commit/b66e3162 - Update the image for timeline and send-tip (#1964)<br>2. https://github.com/myriadsocial/myriad-web/commit/46103d40 - Add exclusive timeline feature (#1959)<br>3. https://github.com/myriadsocial/myriad-web/commit/de6df799 - Fix exclusive content on mobile (#1939)<br>4. https://github.com/myriadsocial/myriad-api/commit/fa6432cf - Update transaction search for exclusive timeline (#983)<br>5. https://github.com/myriadsocial/myriad-api/commit/98c713ef - Update exclusive timeline exclusion logic to fetch transaction (#981)<br>6. https://github.com/myriadsocial/myriad-api/commit/024118df - Exclu (#979)<br>7. https://github.com/myriadsocial/myriad-api/commit/dd7e5ea2 - Return empty array when timeline is exclusive (#978)<br>8. https://github.com/myriadsocial/myriad-api/commit/b67661cc - Add exclusiveness to timeline model (#974) | ![Timeline Discovery](https://github.com/myriadsocial/myriad-web/raw/main/docs/timeline-discovery.png "Timeline Discovery") Discovering new timelines and managing your own is now more intuitive thanks to a revamped layout and enhanced search capabilities, allowing users to discover new timeline based on tags user want to see or dont want to see. ![Exclusive Timeline](https://github.com/myriadsocial/myriad-web/raw/main/docs/create-exclusive-timeline.png "Exclusive Timeline") We have introduced the Exclusive Timeline feature, which allows you to mark specific timeline content as exclusive. When a timeline is marked as exclusive, it will be clearly indicated with an exclusive label, helping differentiate it from regular timelines in the listing. |
| 4. | B2B Features: Multi-User Management System | 1. https://github.com/myriadsocial/myriad-web/commit/e15a84bf - Add PAT & account sharing setting (#1907)<br>2. https://github.com/myriadsocial/myriad-web/commit/d385a0e6 - Fix PAT UI (#1949)<br>3. https://github.com/myriadsocial/myriad-web/commit/6386e19c - Revert PAT UI (#1950)<br>4. https://github.com/myriadsocial/myriad-api/commit/908d17a2 - Prevent anonymous user to generate personal access token (#929)<br>5. https://github.com/myriadsocial/myriad-api/commit/b662acb8 - Add authentication with personal access token (#926)<br>6. https://github.com/myriadsocial/myriad-api/commit/6c83e797 - Fix error on creating multi user timeline (#958)<br>7. https://github.com/myriadsocial/myriad-api/commit/ff773669 - Fix multi user timeline dto (#934)<br>8. https://github.com/myriadsocial/myriad-api/commit/8eaa4f6a - Fix CRUD operation involving multi user timeline editors (#932)<br>9. https://github.com/myriadsocial/myriad-api/commit/bdf2167d - Enable editors in timeline for multi user timeline (#931) | We have implemented comprehensive B2B features that enable organizations to manage multiple users, timelines, and content metrics efficiently through a single interface. This enterprise-grade functionality provides organizations with powerful tools for team collaboration and content management. ![Multi User Login](https://github.com/myriadsocial/myriad-web/raw/main/docs/multi-user.png "Multi User Login") The new account sharing system introduces a secure way to manage multiple user access using Personal Access Tokens, One-Time Token Display, and Seamless Authentication. With these new B2B features, teams and businesses can now better manage their Myriad Social presence. Whether you're handling multiple accounts, working with a team, or tracking content performance, these tools make it simple. |
| 5. | Mobile Wallet Integration with Nova Wallet | 1. https://github.com/myriadsocial/myriad-web/commit/047801e5 - Update nova wallet tutorial - Documentation 3 (#1962)<br>2. https://github.com/myriadsocial/myriad-web/commit/c813b68a - Add new login method (#1957)<br>3. https://www.youtube.com/watch?v=6PtEhR9-K50 | Myriad Social now supports mobile wallet integration with Nova Wallet. Previously, mobile users were limited to connecting via NEAR Wallet, but with this update, you can now connect your Polkadot wallet seamlessly on mobile devices. ![Multi User Login](https://camo.githubusercontent.com/e49259a3869a59b49acdff2ea2ce8778af594f5a7a82a731f7d3e6cb967b9338/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f365074456852392d4b35302f302e6a7067 "Multi User Login") |
| 6. | Backend Improvements and Algorithm Enhancements | 1. https://github.com/myriadsocial/myriad-web/commit/677b54ee - Update FilterBuilderService for filtering (#972)<br>2. https://github.com/myriadsocial/myriad-api/commit/2a42f273 - Fixed get posts by profile endpoint (#970)<br>3. https://github.com/myriadsocial/myriad-api/commit/a2265144 - Fix get posts by profile (#968)<br>4. https://github.com/myriadsocial/myriad-api/commit/ed271af0 - Fix get posts by profile (#967)<br>5. https://github.com/myriadsocial/myriad-api/commit/8d58fac8 - Replace firebase with minio (#964)<br>6. https://github.com/myriadsocial/myriad-api/commit/1a361e28 - Fix issue with uploading image (#963)<br>7. https://github.com/myriadsocial/myriad-api/commit/d7255d68 - Fix mention notification (#957)<br>8. https://github.com/myriadsocial/myriad-api/commit/20ce7dcc - Fix update comment notification message (#953)<br>9. https://github.com/myriadsocial/myriad-api/commit/e30dde91 - Fix email leak on find post by id api (#947)<br>10. https://www.youtube.com/watch?v=D0Km7_Buclo | We have significantly enhanced our backend infrastructure and algorithms to improve content discovery, platform performance, and user experience. ![Improved Backend](https://github.com/myriadsocial/myriad-web/raw/main/docs/Filtering%20cut%20off12.png "Improved Backend") Users can now seamlessly import and embed YouTube content with native playback support, automatic metadata extraction, and optimized performance, while our refined content ranking algorithm focuses on the most recent 12 months of data to ensure fresh content, phasing out historical posts while still maintaining archive access. Enhanced ranking factors now include post engagement metrics, timeline trends, hashtag usage, user interactions, and content quality signals. |
| 7. | Performance Optimization and Enhancement | The performance enhancements were done within the server's NGINX configuration, which is not shared here. But you can take a look at how we set it up within this repository: https://github.com/myriadsocial/myriad-infrastructure | We have implemented significant performance improvements to enhance the user experience and reduce resource consumption. These optimizations focus on reducing payload sizes, implementing modern compression techniques, and optimizing network requests. ![Transfer Size](https://github.com/myriadsocial/myriad-web/raw/main/docs/image-1.png "Transfer Size") We have successfully cut the total transfer size by more than 50%, reducing it from 24.3 MB to 10.4 MB. On another note, the platform now utilizes Brotli compression, a modern compression algorithm that offers better compression ratios compared to traditional methods like gzip. We've also achieved a significant improvement in Fetch/XHR payload efficiency through Brotli compression, reducing the overhead to just 7% of its previous size. Next, through careful analysis and optimization of our JavaScript bundles, combined with Brotli compression, we've achieved a 14% reduction in JavaScript payload size, bringing it down to 325kb. Our latest updates have made Myriad Social faster and more efficient. Pages load quicker, use less data, and work better on all devices. Using new compression technology and better code, we've cut loading times in half while using less bandwidth. |
| 8. | Self-Hosting Capabilities | 1. Marauder.sh script: https://github.com/myriadsocial/myriad-infrastructure/blob/main/linux/marauder.sh<br>2. Dockerfile for testing: https://github.com/myriadsocial/myriad-infrastructure/blob/main/linux/Dockerfile<br>3. Directory housing the relevant scripts: https://github.com/myriadsocial/myriad-infrastructure/tree/main/linux | Myriad Social can now be self-hosted, giving users complete control over their social media infrastructure. Detailed [documentation and resources](https://github.com/myriadsocial/myriad-infrastructure/blob/main/linux/README.md) are available to help you begin your self-hosting journey. |
| 9. | Additional Clients | https://github.com/myriadsocial/myriad-importer-extension | We have developed a browser extension that enables seamless content importing and cross-posting from various social media platforms to Myriad.social. The extension supports:<br>- Twitter Posts: Automatic detection and import of Twitter posts with badge notifications for existing imports<br>- Reddit Posts: Direct importing of Reddit content with similar badge notification system<br>- YouTube Integration: Automatic conversion of URLs to embedded iframes with custom caption support<br>- Twitch Integration: Channel URL conversion to embedded players with proper domain settings<br><br>Key features include:<br>- Magic link authentication system<br>- Text selection and formatting capabilities<br>- Clean, responsive popup interface<br>- Secure API integration<br><br>The extension is available at:<br>- https://myriad.social/extension<br>- Chrome Web Store: [Myriad Extension](https://chrome.google.com/webstore/detail/myriad-extension/caafifipbilmonkndcpppfehkhappcci) |

**Additional Information**
We are excited to share this delivery document with you to confirm the successful completion of all deliverable items from our initial application. We apologise that this deliverable is overdue due to several technical challenges and an unexpected product update that required a migration to Paseo.

We are excited for you to experience these new features and improvements. Your feedback is invaluable to us, so please do not hesitate to share your thoughts and suggestions.
Loading