X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=README.md;h=8c2a35511421345065a9ed8878ee72f60d08436f;hb=d6cdfdf0dc6e760086c3b943f5cdf79a4b1b07c0;hp=1a12c3dede8374d443a03a047e435eaee6d5ec8f;hpb=9749a339d86cfc61448d4a67485209c4c26de76a;p=oweals%2Ffinalsclub.git diff --git a/README.md b/README.md index 1a12c3d..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 ]] + -Requirements: -- Linux server (circa 2011) -- Node.js (Version 0.4.10 or later) -- MongoDB (Version 1.8.2 or later) +# Quick install + +Requirements: -## Quick start for a single server installation +- 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) +- forever $ pwd /home/you + $ install git + $ install node $ git clone git@github.com:/finalsclubdev/FinalsClub fc $ cd fc $ git submodule init @@ -27,52 +34,24 @@ Requirements: [[ flesh this out with correct commands - reference util scripts - fix util scripts ]] -# Database +# System components -The database is MongoDB. -MongoDB is not a relational database, but rather a noSQL or "document/object" based database. -Data is stored as structured objects versus tables and rows. -(More about MongoDB)[http://mongodb.org]. +The system consists of these main parts: -## Collections +- The website +- The collaborative, real-time editor +- The back channel -- 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 ]] +Most of the system is written in Javascript and executed by the Node.js runtime. # 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 3 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. @@ -102,20 +81,59 @@ core page where EPL and BC are both found along side each other. Several node modules are leveraged to to make the basic website work: -- (async)[URL] -- (aws-lib)[URL] -- (connect)[URL] -- (connect-mongo)[URL] -- (ejs)[URL] -- (express)[URL] -- (express-messages)[URL] -- (hat)[URL] -- (hooks)[URL] -- (init)[URL] -- (jade)[URL] -- (mongodb)[URL] -- (mongoose)[URL] -- (socket.io)[URL] +- [async](http:npmjs.org) +- [aws-lib](http:npmjs.org) +- [connect](http:npmjs.org) +- [connect-mongo](http:npmjs.org) +- [ejs](http:npmjs.org) +- [express](http:npmjs.org) +- [express-messages](http:npmjs.org) +- [hat](http:npmjs.org) +- [hooks](http:npmjs.org) +- [init](http:npmjs.org) +- [jade](http:npmjs.org) +- [mongodb](http:npmjs.org) +- [mongoose](http:npmjs.org) +- [socket.io](http:npmjs.org) + + +[[ 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. ]] @@ -147,3 +165,4 @@ NOTE: We still have an ongoing issue with the EPL server hanging up. This is be +