Inspiration
Looking at accomplished people in their fields, I always wondered: What if I could see exactly what resources they went through on their journey to reach their level of expertise. Such a collection of resources would be of immense value to people seeking a similar level of mastery. This made me come up with the idea of creating this platform where users can create such journeys and share them with others. Then I realised this platform can be used to create and share journeys of self exploration such as exploring a new genre or just making a list of "top 10 most shocking conspiracy theories".
What it does
Create Journeys: Users can curate collections of websites, forming personalized journeys based on their online experiences.
Bookmark Integration: Easily add and organize bookmarks within journeys, providing a visual representation of digital exploration.
Shareable Journeys: Users can share their curated journeys with others, fostering knowledge exchange and collaboration.
Explore Others' Journeys: Discover and explore journeys created by fellow users, gaining insights into diverse topics and interests.
Versatile Use Cases: Whether documenting learning paths, exploring genres, or compiling lists, "Journeys" accommodates a wide range of interests and purposes.
User-Friendly Interface: Provide an intuitive and easy-to-use interface for seamless navigation and interaction with the platform.
How we built it
The project was developed using Next.js in conjunction with 'web5.js' along with a node.js server acting as a central dwn to store DIDs of all users using this app . The initial step involved designing a user-friendly interface for quick comprehension of the concept of journeys. Subsequently, emphasis was placed on ensuring intuitive sharing functionalities. A protocol compatible with the design was crafted, followed by the integration of 'web5' CRUD methods with the UI utilizing numerous React hooks. Additionally, a minimal amount of web scraping was employed to streamline the bookmark addition process.
Challenges we ran into
I was constantly running into errors while integrating the web5.js with nextjs as it was my first time using both of these technologies but thanks to discord community I was able to navigate through them. One of the most prominent challenges was to make a user management system, without a web5 wallet. There had to be some central storage for storing DIDs of all users using this app so that a new user doesn't have to manually scavenge for them.
Accomplishments that we're proud of
I am happy to have finally implemented this idea that has been on my mind since a very long time. I feel proud to have incorporated web5.js into this app which helps it's users keep their data decentralised and have more control over how they store and share it.
What we learned
I was able to increase my technical knowledge by gaining hands on experience with web5.js and next.js. I was able to gain insights about the challenges that are faced while building a decentralised app. By having to design the UI with the constraints put by web5.js and the overall decentralised architecture of the app, I learnt more about design thinking and User Interface principles.
What's next for Journeys
The possibilities for journeys are endless. A lot of features can be added to it as web5.js develops further such as an option to sell journeys which would allow accomplished users to sell their journeys to users seeking them. A chrome extension can be made which can automatically add bookmarks to a journey as the user is visiting them. There are also a lot of improvements to be done in the user interface which were left out due to time constraint.
Troubleshooting while using the app
1) Login page says "unable to login": Just refresh the page and try to login again, it should work fine. 2) Cors error popping up in developer console: Download unblock cors extension or something similar to bypass CORS. 3) Cannot reach dwn/1 dwn/2 etc... : Check your internet connection. In the create journey page, make sure you are uploading an image less than about 800 kb
Built With
- next.js
- node.js
- web5.js
Log in or sign up for Devpost to join the conversation.