readme updates
authorJoe Hitchens <joe@sleepless.com>
Fri, 11 Nov 2011 00:38:45 +0000 (16:38 -0800)
committerJoe Hitchens <joe@sleepless.com>
Fri, 11 Nov 2011 00:38:45 +0000 (16:38 -0800)
README.md

index fc0da2eb6f1e0a36ee14d66fc50b8bb416a7d4a3..b0a2024afb721d18476861fdb2f22f92b80397cd 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,33 +1,57 @@
 
-# Finals Club 
+# Finals Club (FC)
 
 This is the source code repository for [finalsclub.org](http://finalsclub.org/).
 
-FinalsClub.org is a 501(c)(3) non-profit open education project dedicated to
+FC is a 501(c)(3) non-profit open education project dedicated to
 helping college students collaborate, learn, and share their knowledge freely online.
 
 
+# Infrastructure
 
-# Overview
+The FC servers run in the cloud on Linux servers, using Amazon Web Services (AWS).
+Scaling is accomplished by adding additional servers to a load balancer.
 
-FinalsClub.org consists of 3 main parts:
+NOTE: The scaling system is automatic; new servers have to be added manually, but it it's very easy.
+NOTE: Automatic fail-over of the database is not yet in place.
+
+NOTE: There are currently 2 running server instances.  One for the live server and one for testing.
+
+Data is stored in a MongoDB server running on the same AWS instance as the website.
+Data is backed up daily to the durable AWS S3 system.
+One backup of the database is kept for the most recent 30 days, one for each of the most
+recent 12 months, and one for every year.
+
+AWS Cloudwatch is used to monitor the servers.
+When the configured conditions warrant attention, notices are sent to "info@finalsclub.org".
+
+NOTE: There are currently 2 monitors set up:
+
+- available disk space
+- CPU utilization
+
+
+# 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).
 It provides the ability for multiple people to simultaneously edit a single document.
-The documents in Finals Club are the notes for a specific lecture.
+The documents in FC are the notes for a specific lecture.
 
 
 ## The Back Channel (BC)
 
-The back channel portion of Finals Club is called ["BC"](https://github.com/FinalsClubDev/BC).
+The back channel portion of FC is called ["BC"](https://github.com/FinalsClubDev/BC).
 BC allows the note takers, or anyone else who is just observing,
 to suggest questions for the lecturer, and vote on each other's questions.
 It also allows people to post commentary.
@@ -35,7 +59,7 @@ It also allows people to post commentary.
 
 ## The Surrounding Website
 
-This is the Finals Club website, which brings together the other two elements into
+This is the FC website, which brings together the other two elements into
 a single website that serves it's stated purpose (above).
 This would be the home page, privacy policy page, the page that lists the participating
 schools, the sub pages containing lists of lectures and note taking sessions, and the
@@ -44,3 +68,5 @@ core page where EPL and BC are both found along side each other.
 
 
 
+
+