flatsheet
A realtime editor for curating data.
Current status
This version of Flatsheet is an in-progress rewrite using Node.js. The first version of Flatsheet was a Ruby on Rails prototype.
Many aspects of the project are incomplete, but things are far enough along that it will be useful if you want to install it and experiment in a development environment.
Want to see an early demo of the real-time editor? Go here: http://flatsheet-realtime.herokuapp.com/
Todos:
Open issues represent current todo list: github.com/flatsheet/flatsheet/issues
Contributing
- Tasks are run using npm run scripts. Review the scripts object in the package.json file for details.
- Files in the
public
directory are generated by npm scripts - Fork this repository.
npm install
npm run watch
to build css & browser jsnpm start
to start the server- Create a branch for your changes.
- Include tests if applicable.
- Add/edit documentation for any changes.
- Submit a pull request.
Getting started
Installation
- Clone this repository
git@github.com:flatsheet/flatsheet.git
- Change directory
cd flatsheet
- Install dependencies with
npm install
File/folder setup
- Navigate to the root directory of the project and run
mkdir data
to create the directory the db will live in. - Copy the example config file:
cp config.example.js config.js
- Edit the values to suit your purpose
- Generate js & css files for public folder:
npm run bundle
Create an admin user
- Create an admin account by running
./bin/flatsheet account create-admin
. You'll be prompted for email, username, & password. - You can run
./bin/flatsheet account list
to see that your admin account was created.
Create a sheet
Through the UI
- Log in
- Click the New blank sheet button
From the command line
- Import a json file:
./bin/flatsheet sheet add tests/data/coworking.json
- Check out that coworking.json example file. Make sure your file has the same format
- Then you can run
./bin/flatsheet sheet list
to see that your sheet has been added.
Start the server
- Now run
npm start
to start the server. - In development you can watch the css & js using
npm run watch
. - Go to
http://127.0.0.1:3333
and log in with the admin account credentials. - You should now see the example data set, and be able to click it to go to the editor.
- NOTE: the editor in this version is not currently fully functional!
Invite users
- Navigate to
http://127.0.0.1:3333/account/invite
- Enter email addresses, one address per line
- Click "Send invitation"
- Users will receive an email with a link they can click to create accounts
Support
This project is supported in part by a code sprint grant from OpenNews.
More info at the Flatsheet blog.
License
MIT