From ba43f1225255be0b153bd15aa4b7f10125e3511a Mon Sep 17 00:00:00 2001 From: Ibrahim Mkusa Date: Sun, 2 Apr 2017 00:50:49 -0400 Subject: [PATCH] started work on README.md --- README.md | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a36bcf6..b684d44 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,10 @@ -# Project Title Goes Here (10 words maximum) +# Project Title Goes Here (10 words maximum): Hermes ### Statement Describe your project. Why is it interesting? Why is it interesting to you personally? What do you hope to learn? +Hermes is a multi-client chat program akin to IRC written in Racket. Building +Hermes is interesting as it exposes us to various design problems namely networking, +synchronization, scheduling, and GUI design. ### Analysis Explain what approaches from class you will bring to bear on the project. @@ -22,6 +25,11 @@ The idea here is to identify what ideas from the class you will use in carrying **Your project will be graded, in part, by the extent to which you adopt approaches from the course into your implementation, _and_ your discussion about this.** ### External Technologies +As stated previously Hermes will be designed using a client/server model. The +server instance could be running locally or on a remote machine. The same +applies for clients. We can think of the clients as connecting to an external +system, Hermes! +* authentication via databases You are encouraged to develop a project that connects to external systems. For example, this includes systems that: - retrieve information or publish data to the web @@ -32,6 +40,10 @@ You are encouraged to develop a project that connects to external systems. For e If your project will do anything in this category (not only the things listed above!), include this section and discuss. ### Data Sets or other Source Materials +We won't need to download any data sets. An artificial dataset will be generated +consisting of conversations between clients, plus any additional commands that aren't +messages for testing. + If you will be working with existing data, where will you get those data from? (Dowload from a website? Access in a database? Create in a simulation you will build? ...) How will you convert your data into a form usable for your project? @@ -41,6 +53,16 @@ If you are pulling data from somewhere, actually go download it and look at it b If you are using some other starting materials, explain what they are. Basically: anything you plan to use that isn't code. ### Deliverable and Demonstration +There are two big deliverables for this project. Code for the server(Hermes, +get it?), and the clients which not only has code for interacting with Hermes, +but also a GUI for interactivity with a user like myself. + +We plan to demonstrate Hermes by running the server code on a remote machine. +We will connect to the server via our PCs running client code. We will ssh into +the remote machine to see the server running. Since Hermes is a multichat anyone +can join in the demonstration by connecting their computers to the remote +machine! + Explain exactly what you'll have at the end. What will it be able to do at the live demo? What exactly will you produce at the end of the project? A piece of software, yes, but what will it do? Here are some questions to think about (and answer depending on your application). @@ -49,7 +71,11 @@ Will it run on some data, like batch mode? Will you present some analytical resu Will it be interactive? Can you show it working? This project involves a live demo, so interactivity is good. + ### Evaluation of Results +Evaluating Hermes is very simple. Can at least two clients hold a meaningful +conversation remotely?... + How will you know if you are successful? If you include some kind of _quantitative analysis,_ that would be good.