Git Product home page Git Product logo

filehive's Introduction

Contributors Forks Stargazers Issues MIT License


Logo

Filehive

A Filecoin-backed marketplace for datasets!
Explore the docs »

View Beta · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Contributing
  4. License
  5. Contact
  6. Acknowledgements

About The Project

Data is the lifeblood of the Internet and therefore one of the most valuable digital assets that can be exchanged. Filehive is a new kind of marketplace built on top of Filecoin and IPFS to provide everyone across the planet an easy and cheap way to distribute and consume diverse datasets.

The OB1 team has been working with Protocol Labs for many years now and this is the first Filecoin first project to come out of their development shop.

Built With

Getting Started

Follow the instructions below to get your Filehive environment working.

Prerequisites

Filehive requires three components:

Textile Powergate

See Textile's amazing instructions for setting a Powergate server. If you would like to run this application locally in development mode you can use a localnet version of Powergate. Textile provides details on how to use Docker to set it all up very quickly. https://docs.textile.io/powergate/localnet/

  1. go get github.com/textileio/powergate
  2. Make sure docker is running and in the powergate/docker folder run make localnet

Filehive Go API Server

Once you have your Powergate server up and running or you have access to a hosted instance that you can connect to from Filehive you can proceed to installing and starting the Filehive Go API Server.

Make sure you have Go 1.15 or above to run this server.

  1. Go get this project on your machine (go get -u https://github.com/OB1Company/filehive)
  2. Change into your source code folder (cd $GOPATH/src/github.com/OB1Company/filehive)
  3. Start the server (go run main.go)

Once you start the server a Filehive data repository will be created on your machine in your OS-specific location. If you need to customize your configuration to connect to a different Powergate server there is a filehive.conf file in your data repository folder that you can modify. Once you've updated your conf file you need to restart the server for changes to take effect.

Filehive UI

Filehive is a mono repo so the Go repo has the React web UI included (in the /web folder). You can either clone this repo in a different location or use the existing Go repo and navigate to the /web folder.

  1. Change into the /web folder
  2. Install dependencies using yarn or npm (yarn install)
  3. Start the node application (yarn start)

You can customize your application by specifying settings in the .env file in the root of the /web folder. You can see a sample .env file.

  1. Create .env file in root /web folder
  2. Update contents of .env
  3. Restart the node application (yarn start)

The application will start by default at http://localhost:3000

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Filehive - @TheFilehive

OB1 Company: https://github.com/OB1Company

Acknowledgements

filehive's People

Contributors

hoffmabc avatar cpacia avatar morebrownies avatar ilxwolf avatar

Stargazers

Kevin Segal avatar  avatar Iqbal Rifai avatar zhangcheng avatar Gabriel avatar Will Pankiewicz avatar  avatar waynewyang avatar  avatar  avatar outdamud avatar  avatar  avatar  avatar

Watchers

 avatar James Cloos avatar Stevie Zollo avatar outdamud avatar

filehive's Issues

Database locking issue

Sometimes the server will lock up and not process any queries due to a locked issue.

Need to look at the GORM calls.

Edit Listing: Add view listing button/link

Changes

  • 1. It can be difficult to navigate to your own listings. Currently, you have to find your listing on the home page and click it to view it. Once there are many more listings, finding your listing easily on the home page may not be possible. To solve this issue, we should add a View listing button/link to the edit listing page.

See video below (turn your sound on)

Screen.Recording.2021-02-15.at.12.54.22.PM.mov

Wallet: Send button needs a spinner

To do

  • 1. I tapped Send and nothing happened for a few seconds (I was about to click it again) and then it showed the success message. It would be nice to have a spinner here to prevent double taps.

Screen Shot 2021-02-11 at 11 18 38 AM

Wallet: Add FIL to Amount label

To do

  • 1. It's unclear if the wallet requires the amount in FIL or USD. It would be helpful to add (FIL) to the Amount label. See below.

Current
Screen Shot 2021-02-11 at 11 10 09 AM

Ideal
Screen Shot 2021-02-11 at 11 10 49 AM

Checkout: Confirm order button needs a spinner

To do

  • 1. I tapped Confirm Order and nothing happened for a few seconds (I was about to click it again) and then it advanced to the the success modal. It would be nice to have a spinner here to prevent double taps.

Screen Shot 2021-02-11 at 11 15 06 AM

Cache CoinGecko Pricing Data

Right now we pull from the site every time a price needs to be converted.

We should only grab it once per minute or five minutes and cache it.

Add Sales page

Need a sales page in the Dashboard items that should be shown once the user has made at least one sale.

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.