Google Docs back-end

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • JJ93
  • Registratie: Maart 2013
  • Laatst online: 15:59

JJ93

Error 418

Topicstarter
Ik ben het afgelopen kwartiel druk bezig geweest met Websockets, databases en het schrijven van een API. Dat heeft uiteindelijk een leuk project resultaat opgeleverd, en mijn vakantie is inmiddels begonnen.

Het lijkt mij leuk om weer iets vergelijkbaars te maken. Ik heb dan vooral het idee om Google Docs na te maken, dus:
- Met meerdere mensen werken aan één document
- Realtime syncen

Dit kan dus mooi via Websockets, maar ik zit vooral met de back-end. Hoe kan ik de data zo efficiënt mogelijk op slaan? De historie moet namelijk ook worden opgeslagen.

Alle data dumpen lijkt me wat te veel van het goede. Maar hoe ga je anders de wijzigingen weergeven? Misschien alles letter per letter inserten. Dat gaat op zich prima denk ik, tot dat iemand een letter verwijdert. Of als je halverwege in het document gaat werken.

Ten slotte nog de programmeertaal die ik het beste kan gebruiken voor de back-end. Afgelopen project Java servlets gebruikt met een flink aantal jar's om de API te bouwen. Wil eigenlijk wel een keer wat anders, is Node.js wat?

Acties:
  • 0 Henk 'm!

  • Cor453
  • Registratie: Mei 2011
  • Laatst online: 17-08 22:55
WebSockets zijn inderdaad cool. Je zou backend-wise best 'ns naar Node.js kunnen kijken, toffe structuur (asynchroon enzo).

Ik zou voor je document editor eerst voor jezelf de scenario's op een rijtje hebben.
- Nieuw document maken
- Document opslaan (historie aanmaken hier misschien?)
- Als enige in een document werken (opslaan met AJAX, history a la Git?)
- Met meerderen in een document werken (realtime diff via WebSockets kan, er zijn vast veel manieren voor)

Dat zijn even wat punten die ik kan bedenken, maar je moet zelf maar kijken wat je wel en niet uitgebreid uitwerkt. Je kunt dan in ieder geval voor jezelf duidelijk hebben wat er kan gebeuren en hoe je dat afvangt.

Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Ik zou hier eens naar kijken: http://sharejs.org/

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • JJ93
  • Registratie: Maart 2013
  • Laatst online: 15:59

JJ93

Error 418

Topicstarter
Bedankt voor de reacties! Moet inderdaad eerst de scenario's maar eens op een rijtje zetten. ShareJS is ook erg interessant. En vooral dus de Operational transformations. Met behulp van ShareJS zou ik al een flink deel kunnen maken. Aan de andere kant vind ik het ook wel leuk om zelf zo'n library te maken. Maar ik weet niet hoe realistisch dat is natuurlijk. Ik ga het verder onderzoeken in ieder geval.

Edit: waarschijnlijk eerst maar is bezig met een simpele tekst editor, waarbij je een knop opslaan hebt, en de link kan delen oid :)

[ Voor 14% gewijzigd door JJ93 op 13-07-2014 16:27 ]


Acties:
  • 0 Henk 'm!

  • A.Kebab
  • Registratie: Mei 2005
  • Niet online
Je kan dit gebruiken om vanuit de frontend diff patches te genereren: https://code.google.com/p/google-diff-match-patch/. Je hoeft dan alleen maar de patches op te slaan in de database. De online demo's werken niet meer maar als je het project download zitten de demo's er ook in.

Acties:
  • 0 Henk 'm!

  • JJ93
  • Registratie: Maart 2013
  • Laatst online: 15:59

JJ93

Error 418

Topicstarter
Interessant! Thx, zal er naar kijken!
Pagina: 1