Code Monkey home page Code Monkey logo

skybookmarks's Introduction

Skybookmarks

skybookmarks-logo
Skybookmarks is a decentralized social bookmarking website built on Skynet.

Functionality

You can conveniently login with your SkyID and discover stored bookmarks of other users.

The following user actions are stored in the Content record library:

  • Save bookmark
  • Bookmark name update

Video Demo

Skybookmarks video

Live Demo

You can access the latest deployed version on https://skybookmarks.hns.siasky.net/. It is set-up using Github actions and HNS.

Prerequisites

  1. NodeJS installed.
  2. Yarn installed. (npm install -g yarn)
  3. Clone this repo.

Setup for local development

  1. For local React App projects, we need to remove "homepage": ".", from the package.json.
  2. When working locally, we want our App to only communicate with siasky.net. Find the line that says
const client = new SkynetClient();

and replace it with

const portal = 'https://siasky.net/';
const client = new SkynetClient(portal);
  1. Set your data domain for MySky:
const dataDomain = 'localhost';
  1. Open your terminal to the cloned repo folder and run yarn install to install the project's dependencies.
  2. Run yarn start to see our app's starting layout. If your browser doesn't launch, visit localhost:3000. Create React App will auto-reload when you save files. (Use Ctrl+C in the terminal to stop your app.)
  3. Test it out! Now Sign up for an account on MySky and update your bookmark list. They are stored on in SkyDB and are publicly shared in the system! You can also use the Content Record Viewer tool to see your content record.

Deploy the Web App on Skynet

Congratulations! You have a fully functioning Skapp! Deployment is currently configured with a Github action. You can nevertheless deploy your own instance by doing the following:

  1. Have "homepage": ".", set in the package.json

  2. Do not define a portal when initializing the Skynet client:

const client = new SkynetClient();
  1. Set your data domain for MySky:
const dataDomain = 'yourdomain';
  1. Build the application with yarn build

  2. Upload the newly created build folder to https://siasky.net. (Make sure you select 'Do you want to upload an entire directory?')

Where to go from here?

Think of new features this product can offer and feel free to create PRs for them. Here are some ideas you could build upon:

  • Overview of the most bookmarked pages accross all users
  • Bookmark deletion
  • Browser extensions to set bookmarks more conveniently
  • Categorizing bookmarks and building a search engine and discovery features on top of that
  • Store a snapshot of the bookmark on Skynet (similar to Waybackmachine)

Available Scripts

In the project directory, you can run:

yarn start

Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.

The page will reload if you make edits.
You will also see any lint errors in the console.

yarn build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

See the section about deployment for more information.

Credits

Our logo was created by Good Ware

skybookmarks's People

Contributors

michaelmuenzer avatar

Watchers

 avatar  avatar

Forkers

parajbs

skybookmarks's Issues

Defect! Es wird nicht gespeichert! Help!

Hello michaelmuenzer

I tested Skybookmarks via Live Demo, but it doesn't work like in the Viedo Demo!
You can create bookmarks and click them! But if you then want to search for the ID number on the search tab, there is no result! And even if I log into the other browser with my mysky, everything is gone (previous entries are no longer visible !!)

I then installed the project with "git clone" on my PC, but the same problems there!

I tested different browsers, but this one didn't work either!

Why doesn't it work for me like in the video demo? Or is the project defect? Or the connection to the database?

Would be a super cool project!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.