X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=README.md;h=8c2a35511421345065a9ed8878ee72f60d08436f;hb=6ab0e3c4ce20cebd4fb735231b433524f1d6971e;hp=149f1b58643aafabc52790bd94b14e9c8262aa5d;hpb=9dd640d177ce85bfc72eecc76bf1ed650c4e1131;p=oweals%2Ffinalsclub.git diff --git a/README.md b/README.md index 149f1b5..8c2a355 100644 --- a/README.md +++ b/README.md @@ -7,18 +7,25 @@ FC is a 501(c)(3) non-profit open education project dedicated to helping college students collaborate, learn, and share their knowledge freely online. -# Installing +## Additional resources + +[[ discussion groups, chat rooms, etc. related to FC and FC sources ]] + + + +# Quick install Requirements: -- Linux server (circa 2011) +- A typical Linux server (circa 2011) - Node.js (Version 0.4.10 or later) [More ...](http://nodejs.org) - MongoDB (Version 1.8.2 or later) [More ...](http://mongodb.org) - -## Quick start for a single server installation +- forever $ pwd /home/you + $ install git + $ install node $ git clone git@github.com:/finalsclubdev/FinalsClub fc $ cd fc $ git submodule init @@ -27,62 +34,24 @@ Requirements: [[ flesh this out with correct commands - reference util scripts - fix util scripts ]] -# Resources - -[[ discussion groups, chat rooms, etc. related to FC and FC sources ]] - - -# Database - -The database is MongoDB. -MongoDB is not a relational database, but rather a noSQL or "document/object" database. -Data is stored as structured objects versus tables and rows. -(More about MongoDB)[http://mongodb.org]. +# System components -## Collections in the database - -- archivedcourses - [[ schema needed ]] -- archivednotes - [[ schema needed ]] -- archivedsubjects - [[ schema needed ]] -- courses - [[ schema needed ]] -- lectures - [[ schema needed ]] -- notes - [[ schema needed ]] -- posts - [[ schema needed ]] -- schools - [[ schema needed ]] -- sessions - [[ schema needed ]] -- users - [[ schema needed ]] +The system consists of these main parts: +- The website +- The collaborative, real-time editor +- The back channel -## [[ stuff ]] +Most of the system is written in Javascript and executed by the Node.js runtime. -[[ notes about scaling/replication/etc. ]] # Source Code -The source code for the website itself consists of these main parts: - -- The collaborative, real-time editor -- The back channel -- The surrounding website - -These pieces are written in Javascript for Node.js. - ## The Collaborative Real-time Editor -The real-time editor is an embedded editor called -[Etherpad-Lite](https://github.com/Pita/etherpad-lite) (EPL). +The editor is an embedded editor called [Etherpad-Lite](https://github.com/Pita/etherpad-lite) (EPL). It provides the ability for multiple people to simultaneously edit a single document. The documents in FC are the notes for a specific lecture. @@ -131,6 +100,43 @@ Several node modules are leveraged to to make the basic website work: [[ more detail about website generally, then defer to src comments ]] +# Database + +The database is MongoDB. +MongoDB is not a relational database, but rather a noSQL or "document/object" database. +Data is stored as structured objects versus tables and rows. +(More about MongoDB)[http://mongodb.org]. + +## Collections in the database + +- archivedcourses + [[ schema needed ]] +- archivednotes + [[ schema needed ]] +- archivedsubjects + [[ schema needed ]] +- courses + [[ schema needed ]] +- lectures + [[ schema needed ]] +- notes + [[ schema needed ]] +- posts + [[ schema needed ]] +- schools + [[ schema needed ]] +- sessions + [[ schema needed ]] +- users + [[ schema needed ]] + + +## [[ stuff ]] + +[[ notes about scaling/replication/etc. ]] + + + # AWS Infrastructure The actual finalsclub.org servers run in the cloud on Linux servers, using Amazon Web Services (AWS). @@ -159,3 +165,4 @@ NOTE: We still have an ongoing issue with the EPL server hanging up. This is be +