GithubHelp home page GithubHelp logo

it1011 / collaborative-text-editor Goto Github PK

View Code? Open in Web Editor NEW

This project forked from carokun/collaborative-text-editor

0.0 1.0 0.0 47.12 MB

JavaScript 58.23% HTML 38.24% CSS 0.25% Objective-C 2.81% C 0.46%

collaborative-text-editor's Introduction

NodeBook

A collaborative text editor with easy to edit and share documents. Created July, 2017

Table of Contents

Team

About

NodeBook is a desktop app that allows for sharing documents and live collaboration. The text editor has numerous styles and fonts built in as well as search capabilities and access to revision history. 

Installation Instructions:

Prerequisites:

Requires Node.js

  1. Download the repository
  2. Run npm install to download the node modules
  3. Run npm run webpack to bundle the code
  4. Run npm run server to run the server
  5. Run npm start to launch a new window
    • You can launch multiple windows to test the collaborative functionality

Built With

  • Electron
  • Frontend
    • React.js
    • Draft.js
    • LESS
    • HTML/CSS
  • Backend
    • Socket.io
    • Express
    • MongoDB

Features

Login and Register Page

When you first open the app you will be prompted with a login screen. For first time users, navigate to the register page and input your creditials before logging in!

screen shot 2017-07-28 at 12 09 13 pm

Documents List

Your account will open to a preview of all your existing documents which are stored in MongoDB between sessions.

screen shot 2017-07-28 at 10 25 07 am

To search through the documents by title or content, type into the search bar on the upper right hand corner.

screen shot 2017-07-28 at 10 03 08 am

To navigate to a specific document, simply click the document's preview.

Document View

We built our editor component on top of the Draft.js library. The document editor allows for typing and text decoration, including font size, color, and alignment, all of which are accessible from the top toolbar. There are keyboard shortcuts built in for common commands such as bolding (⌘B), italicizing (⌘I), and saving the document (⌘S). Some of the available effects are demoed in the picture below. The document will also autosave every 30 seconds so users don't lose their work!

screen shot 2017-07-28 at 10 06 39 am

There is a search bar on the top right of the screen that allows users to search through their documents, highlighting the matching words and phrases.

screen shot 2017-07-28 at 10 03 23 am

We also implemented live collaboration for shared documents using sockets. A preview of the collaborative features is shown below, to see more navigate to Installation Instructions and download the repo!

ezgif com-video-to-gif

Revision History

To see all of your past versions of a given document, navigate to the revision history page. There will be list of every saved version, sorted by date, on the right side of the screen. Click on one of the dates to see the old state of your document as well as add and remove differences between your old and current document.

screen shot 2017-07-28 at 10 25 27 am

collaborative-text-editor's People

Contributors

carokun avatar crestwood204 avatar teresaliu20 avatar

Watchers

 avatar

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.