WIP - We're building the place you go to discover, share, and sell files on the web.
Go to file
2021-11-24 11:38:48 -08:00
.githooks add post-merge hook 2021-02-17 17:27:48 +00:00
.github Update issue templates 2021-04-15 20:19:55 -07:00
.vscode squashing commits 2021-06-08 15:53:30 -07:00
common fix styling bugs 2021-11-24 11:38:48 -08:00
components nits styling fixes 2021-11-17 14:27:16 -08:00
dist emotion 11.1.1 and react 17.0.1 update 2020-11-29 21:35:19 -08:00
node_common edits to fix the functioning of getImageUrlIfExists 2021-11-16 13:20:29 -08:00
pages update new landing page url 2021-11-17 14:31:34 -08:00
public revert favicon 2021-08-04 17:05:10 -07:00
scenes added standalone file page and edited share modal to use it 2021-11-16 16:52:19 -08:00
scripts adjustment script for change and edited flattening-migration script 2021-11-12 17:50:20 -08:00
vendor final audit 2020-11-07 18:36:29 -08:00
workers feat(web-workers/filter-files): add web-worker to handle filtering off the main thread 2021-09-27 10:22:51 +01:00
.babelrc Webpack for node server 2020-07-08 18:53:46 -05:00
.eslintignore add base eslint config and deps 2021-02-17 14:54:04 +00:00
.eslintrc.js use @babel/eslint-parser 2021-03-01 17:23:35 +00:00
.gitignore inc package-lock 2021-02-16 16:08:15 +00:00
.prettierignore added simple prettier defaults 2020-10-05 12:25:55 -07:00
.prettierrc prettier: can't believe we let this bracketSpacing rule slip 2020-10-06 20:55:34 -07:00
google75364ba6a57d7b7d.html api doc edits and adding google site verification file 2021-08-18 13:35:38 -07:00
index.js make babel a regular dependency 2021-08-20 14:16:09 -07:00
jsconfig.json added jsconfig.json 2021-05-03 20:30:33 +00:00
knexfile.js chore(env): update knex config to match NODE_ENV values 2021-08-09 16:41:31 +01:00
LICENSE-MIT design system: cleanup, adds license 2020-07-16 10:41:49 -07:00
next.config.js feat(web-workers): 2021-09-27 10:09:36 +01:00
nodemon.json initial commit for the application prototype 2020-06-03 09:20:54 -07:00
package-lock.json added search-utilities and basic schema for index creation 2021-11-01 13:38:58 -07:00
package.json breaking up search into multiple files and a script 2021-11-01 13:38:58 -07:00
README.md api doc edits and adding google site verification file 2021-08-18 13:35:38 -07:00
rollup.config.js rollup: 923kb end result 2020-11-25 17:41:19 -08:00
server.js added standalone file page and edited share modal to use it 2021-11-16 16:52:19 -08:00

Slate

Slate

An open source storage system for your data that makes it easy to collect, organize, and share them anywhere on the web.

Introduction

Slate Preview

Slate is the first open source file storage application designed to encourage collaboration and research across a distributed network. It is a first step towards enabling a thriving network for data storage and transactions powered by IPFS, Filecoin and Textile that is open and usable for everyone. Our goal is to provide a meaningful story for every feature the protocol provides today and in the future. The Slate Project is the byproduct of a growing community of contributors from around the world.

Slate is tightly scoped for the present and more broadly thought out for the future. Our primary objective is to create a best-in-class experience for uploading, collecting, and sharing media. Additional filetypes will be supported, but our focus is to start with the pieces that apply to everyone and then dial into more specific formats.

Create an account and try it out!

Get involved

Slate is built by a growing community of collaborators and contributors. Wed love for you to join us!

How?

  • Find something you want to work on and file an issue.
  • If you see something you want to fix or change, submit a PR.
  • Reach out at any time. We're always available on Twitter to answer your questions: @_slate.

Slate Development Guide

  • To work on Slate you must have an internet connection.
  • We don't have windows support at the moment.

Clone this repo

Working on Slate starts by cloning the repo :)

git clone https://github.com/filecoin-project/slate.git
cd slate

.env

You must create a .env file if you want to work on the service.

  • You must setup your own postgres or hosted postgres.
  • You must have your own Textile hub account setup
  • You will have to run 3 other servers manually until we automate.
POSTGRES_ADMIN_PASSWORD=XXX
POSTGRES_ADMIN_USERNAME=XXX
POSTGRES_HOSTNAME=XXX
POSTGRES_DATABASE=XXX
LOCAL_PASSWORD_SECRET=XXX
LOCAL_PASSWORD_ROUNDS_MANUAL=5
LOCAL_PASSWORD_ROUNDS=14
TEXTILE_HUB_KEY=XXX
TEXTILE_HUB_SECRET=XXX
JWT_SECRET=XXX
ALLOWED_HOST=localhost:1337
PUBSUB_SECRET=pKLO4lbzdMrhAFKwPo9bnmq03bxQrtu3
NEXT_PUBLIC_URI_SHOVEL=http://localhost:4242
NEXT_PUBLIC_URI_FIJI=ws://localhost:6464
NEXT_PUBLIC_URI_LENS=http://localhost:1313
NEXT_PUBLIC_NODE_ENV=development

Setup pubsub server

Setup file upload server

Setup search server

Install and run

npm install
npm run dev
  • Visit localhost:1337 in a browser.
  • You should have 3 terminal screens open unless you don't want real time updates and file upload support.

Developer API

Slate has a Developer API that allows you upload files using code and HTTP.

Every user who creates an account on Slate can use the API. Here is an example:

const response = await fetch("https://slate.host/api/v1/get", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    Authorization: "XXX-YOUR-SLATE-KEY-XXX",
  },
});