-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
27 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -33,23 +33,23 @@ You would also want to make sure your image is up to date by running `sudo apt-g | |
### Setting up Faz & Caw! | ||
|
||
Follow the steps to set up our FaaS and Social Network service! | ||
This will set up both the cpp and go versions of the project! | ||
``` | ||
1. sudo apt-get install build-essential | ||
2. sudo apt-get install cmake | ||
3. git clone [email protected]:floan/csci499_floan.git | ||
4. cd csci499_floan | ||
5. mkdir build | ||
6. cd build | ||
7. cmake .. (This step will take some time, don't panic!) | ||
8. make (This will also take some time!) | ||
5. chmod +x make.sh (depending on permissions, you might need to use sudo) | ||
6. ./make.sh (This will take some time, don't worry!) | ||
``` | ||
|
||
Finally, in order to run anything you need to be in the newly created build repository. You can enter that using `cd build`. | ||
|
||
## Testing | ||
|
||
Now that you've set everything up. Lets make sure it all works! To run the Caw Tests run the command `./caw_test` and to run the key value store tests run the command `./kv_store_test`. | ||
Now that you've set everything up. Lets make sure it all works! To run the Caw Tests run the command `./caw_test` and to run the key value store tests run the command `./kv_store_test`. You can also run the key value store persistence tests using `./kv_store_persistence_test` | ||
|
||
Everything should be green and passing! Both these commands are to be run inside the build folder. | ||
Everything should be green and passing! All these commands are to be run inside the build folder. | ||
|
||
## Starting up the application | ||
|
||
|
@@ -60,6 +60,11 @@ In order to fully use the application, you will have to start up some servers. P | |
2. ./kv_store | ||
``` | ||
|
||
Alternatively, you can choose to make your data persist after you have closed the server / restore your data when restarting the server. In order to specify a file to store the data to / read the data from, run the following command instead of #2 above. | ||
``` | ||
2. ./kv_store --store <filename> | ||
``` | ||
|
||
The third terminal will be yours to use with Caw! Read on to find out how! | ||
|
||
## Using Caw! | ||
|
@@ -77,20 +82,28 @@ Here is a list of all of Caws features! | |
|
||
Caw is designed to allow the user to interract with it through the command line. All commands should be run within the build folder. Please read on to learn more about the commands and how to use them! | ||
|
||
1. Initially all functions will need to be hooked to our Faz service. In order to do this, run the command `./caw --hookall`. You can also unhook all functions by running `./caw --unhookall`. If you want more flexibility, you can also use `./caw --hook <function name>` and `./caw --unhook <function name>`. Once all functions are hooked, you can start using them! | ||
The caw application provides you a client in both CPP and Go. To use the CPP client, replace the keyword `<client>` with `./caw` in all the commands below. Similarly, to use the Go client, replace the keyword `<client>` with `./caw_go` in all the commands below. | ||
|
||
1. Initially all functions will need to be hooked to our Faz service. In order to do this, run the command `<client> --hookall`. You can also unhook all functions by running `<client> --unhookall`. If you want more flexibility, you can also use `<client> --hook <function name>` and `<client> --unhook <function name>`. Once all functions are hooked, you can start using them! | ||
|
||
2. In order to register a user, you must specify the username with our `--registeruser` flag. Here is an example: `<client> --registeruser "fayez"` | ||
|
||
2. In order to register a user, you must specify the username with our `--registeruser` flag. Here is an example: `./caw --registeruser "fayez"` | ||
3. In order to post a caw, you must specify the user posting, and the text to post! You can specify the text to post using our `--caw` flag. Here is an example: `<client> --user "fayez" --caw "Hello World!"` Please remember that only registered users can post caws! | ||
|
||
3. In order to post a caw, you must specify the user posting, and the text to post! You can specify the text to post using our `--caw` flag. Here is an example: `./caw --user "fayez" --caw "Hello World!"` Please remember that only registered users can post caws! | ||
4. In order to reply to a caw, you must specify the user replying, the caw to reply to and the text with which the user wants to reply! You can specify the caw id to reply to using our `--reply` flag. Here is an example: `<client> --user "fayez" --reply 1 --caw "Hi Fayez! From the world."` | ||
|
||
4. In order to reply to a caw, you must specify the user replying, the caw to reply to and the text with which the user wants to reply! You can specify the caw id to reply to using our `--reply` flag. Here is an example: `./caw --user "fayez" --reply 1 --caw "Hi Fayez! From the world."` | ||
5. In order to follow a caw, you must specify your username and the username of who you wish to follow! Here is an example: `<client> --user "fayez" --follow "Adam"`. Please note, you can only follow registered users! | ||
|
||
5. In order to follow a caw, you must specify your username and the username of who you wish to follow! Here is an example: `./caw --user "fayez" --follow "Adam"`. Please note, you can only follow registered users! | ||
6. In order to read a caw thread, you must specify your username and the thread id which you wish to begin reading from. You can specify the caw id to start reading from using our `--read` flag. Here is an example: `<client> --user "fayez" --read 1`. | ||
|
||
6. In order to read a caw thread, you must specify your username and the thread id which you wish to begin reading from. You can specify the caw id to start reading from using our `--read` flag. Here is an example: `./caw --user "fayez" --read 1`. | ||
7. In order to display a profile, you must specify the username of the profile you wish to see! Here is an example: `<client> --user "fayez" --profile`. | ||
|
||
7. In order to display a profile, you must specify the username of the profile you wish to see! Here is an example: `./caw --user "fayez" --profile`. | ||
If you are looking for more information, or just feel a little lost, feel free to use the command `<client> --help` for more information! Lastly, if you have any issues with the program, or you want to suggest an upgrade, feel free to create an issue on our github page! | ||
|
||
If you are looking for more information, or just feel a little lost, feel free to use the command `./caw --help` for more information! Lastly, if you have any issues with the program, or you want to suggest an upgrade, feel free to create an issue on our github page! | ||
Here is an example of running the program with the actual keywords (rather than `<client>`): | ||
``` | ||
./caw --registeruser "Fayez" | ||
./caw_go --registeruser "Adam" | ||
``` | ||
|
||
We hope you enjoy using Caw! Bye! |