11# Gmail-AdvancedSystemProgramming
22Daily meeting summaries are uploaded to ` Issues ` tab
3- ## Dear TA please check main-Ex1 for the final version of Ex1
4- ## Dear TA please check main-Ex2 for the final version of Ex2
5- ## Dear TA please check main-Ex3 for the final version of Ex3
3+ Roee's miluim service documents are uploaded to ` Issues ` tab if needed, Tzvika was informed about it.
4+
5+ ## Dear TA please check main-Ex4 for the final version of Ex4
66
77---
88
99## Table of Contents
1010- [ Running server and client] ( #testing-and-running )
1111 - [ Getting started] ( #getting-started )
1212 - [ Testing bloom filter server and python client] ( #to-test-the-python-client-and-bloom-filter-server )
13- - [ Running the web server] ( #running-the-servers )
14-
15- - [ Screenshots & routes examples] ( #screenshots )
16- - [ Ex3] ( #ex3-screenshots )
13+ - [ Running as web application project] ( #running-the-entire-web-app )
14+ - [ env variables] ( #env-variables )
15+ - [ Screenshots] ( #screenshots )
1716- [ Useful links] ( #useful-links )
1817 - [ CPP server README] ( https://github.com/YuvalAnteby/Gmail-AdvancedSystemProgramming/tree/main-Exe/server_cpp )
1918 - [ Python client README] ( https://github.com/YuvalAnteby/Gmail-AdvancedSystemProgramming/blob/main-Ex3/python_client/README.md )
@@ -28,32 +27,30 @@ First clone the project
2827git clone https://github.com/YuvalAnteby/Gmail-AdvancedSystemProgramming.git
2928cd Gmail-AdvancedSystemProgramming/python_client
3029```
31- And build it
32- ``` bash
33- docker-compose build
34- ```
30+ ** If you want to change the configuration (ports, names, bloom filter integers etc.) you can do it in dockerfiles
31+ and docker compose.**
3532
3633### To test the python client and bloom filter server
37- ** Make sure you already cloned the project and built it using docker compose **
34+ This will build and run only the test related containers (CPP server, gtest, python test)
3835``` bash
39- docker-compose run --build --rm gtest
40- docker-compose run --build --rm test_client
36+ docker-compose --profile tests up --build
4137```
4238
43- #### Running the servers
44- ** Make sure you already cloned the project and built it using docker compose** </br >
45- In case you want to change any configuration value (port, bloom filter integers etc.) change the relevant dockerfile or docker compose file. </br >
46- Changing the port and the name of the cpp server also requires changing models/blacklist.js global vars (since we shouldn't include .env files)
47-
48- - To run the web server and bloom filter server
39+ ### Running the entire web app
40+ This will build and run only the web application related containers (React, Node.js, CPP server)
4941``` bash
50- docker-compose up web_server
42+ docker-compose --profile web_app up --build
5143```
52- - To run the python client
44+
45+ ### env variables
46+ In Node.js and React root folders you can find .env files with default values to help you check the project.</br >
47+ In a real world application these wouldn't be uploaded, we did it for easier set up for the checkers :)
48+
49+ ### Running the python client
50+ ** NOTE: The instructions didn't ask to run the python client and express server together using the same command**
5351``` bash
54- docker-compose run python_client
52+ docker-compose run client --build
5553```
56- ** NOTE: The Ex3 instructions didn't ask to run the python client and express server together using the same command**
5754
5855- Remainder, to exit the container gracefully use
5956``` bash
@@ -63,26 +60,25 @@ control+c
6360---
6461
6562### Screenshots
66- #### Ex3 screenshots
6763<details >
68- <summary >Click to expand Ex3 screenshots</summary >
64+ <summary >Click to expand Ex4 screenshots</summary >
6965
70- <img src =" screenshots/ex3/curl runexample1 .png " height =" 50% " alt =" " >
71- <img src =" screenshots/ex3/curl runexample2 .png " height =" 50% " alt =" " >
72- <img src =" screenshots/ex3/curl runexample3 .png " height =" 50% " alt =" " >
73- <img src =" screenshots/ex3/curl runexample4 .png " height =" 50% " alt =" " >
74- <img src =" screenshots/ex3/curl runexample5 .png " height =" 50% " alt =" " >
66+ <img src =" screenshots/ex4/light_login .png " width =" 50% " alt =" light_login " >
67+ <img src =" screenshots/ex4/dark_inbox .png " width =" 50% " alt =" dark_inbox " >
68+ <img src =" screenshots/ex4/light_compose .png " width =" 50% " alt =" light_compose " >
69+ <img src =" screenshots/ex4/dark_reading .png " width =" 50% " alt =" dark_reading " >
70+ <img src =" screenshots/ex4/dark_signup .png " width =" 50% " alt =" dark_signup " >
7571
7672</details >
7773
78- For more screenshots [ click here] ( https://github.com/YuvalAnteby/Gmail-AdvancedSystemProgramming/main-Ex3 /screenshots/ex3 )
74+ For more screenshots [ click here] ( https://github.com/YuvalAnteby/Gmail-AdvancedSystemProgramming/main-Ex4 /screenshots/ex4 )
7975
8076---
8177
8278## Useful links
83- - [ CPP server README] ( https://github.com/YuvalAnteby/Gmail-AdvancedSystemProgramming/tree /main-Exe /server_cpp )
84- - [ Python client README] ( https://github.com/YuvalAnteby/Gmail-AdvancedSystemProgramming/blob/main-Ex3/python_client /README.md )
85- - [ JavaScript server README] ( https://github.com/YuvalAnteby/Gmail-AdvancedSystemProgramming/blob/main-Ex3/web_server /README.md )
79+ - [ CPP server README] ( https://github.com/YuvalAnteby/Gmail-AdvancedSystemProgramming/blob /main-Ex4 /server_cpp )
80+ - [ JavaScript server README] ( https://github.com/YuvalAnteby/Gmail-AdvancedSystemProgramming/blob/main-Ex4/web_server /README.md )
81+ - [ React frontend README] ( https://github.com/YuvalAnteby/Gmail-AdvancedSystemProgramming/blob/main-Ex4/frontend /README.md )
8682
8783---
8884
0 commit comments