Skip to content

Commit 8a4046d

Browse files
authored
Merge pull request #41 from oslabs-beta/ted-dev
updated main ReadME
2 parents 2a7722d + 3bfae72 commit 8a4046d

File tree

3 files changed

+51
-18
lines changed

3 files changed

+51
-18
lines changed

README.md

Lines changed: 43 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,37 @@ Chronos is a comprehensive developer tool that monitors the health and web traff
2020

2121
## What's New?
2222

23-
### Chronos 13.0
23+
### Chronos 14.0
2424

2525
<div>
2626

27+
Contributors:
28+
[Michael Tagg](https://github.com/mdtagg),
29+
[Ted Pham](https://github.com/TedPham397),
30+
[Sofia Sarhiri](https://github.com/sarhiri),
31+
[Stephen Yang](https://github.com/stephenhyang),
32+
33+
</div>
34+
Updates:
35+
<li>Implemented a new visualization button (example) to expedite data rendering processes.</li>
36+
<li>Refactored microservices example, switched over to community version of MongoDB for easier URI implementation.</li>
37+
<li>Modularized cluttered components into modular units to improve code readability and reusability.</li>
38+
<li>Optimized startup scripts to reduce application load time and streamline environment configuration.</li>
39+
<li>Upgraded Material-UI from version 4 to version 5, adapting to new API changes and improving UI responsiveness. </li>
40+
<li>Refactored portions of the electron app </li>
41+
<li>Refactored data parsing logic to reduce unnecessary rerenders and improve app performance</li>
42+
<li>Fixed data bottle necks in the local npm packages, data is now able to flow to microservices for data visualization</li>
43+
44+
45+
<a href='link here'>Version 14.0 Medium Article</a>
46+
47+
### **Iteration Log**
48+
49+
<details><summary>Chronos 13.0</summary>
50+
<ul>
51+
<div>
52+
53+
2754
Contributors:
2855
[Elsa Holmgren](https://github.com/ekh88),
2956
[Mckenzie Morris](https://github.com/mckenzie-morris),
@@ -33,15 +60,18 @@ Contributors:
3360

3461
</div>
3562
Updates:
36-
<li>Created new and improved microservices application with updated syntax to better demonstrate Chronos' capabilities</li>
37-
<li>Dockerized microservices application to demonstrate Chronos within a containerized environment</li>
38-
<li>Added visulization of Chronos' codebase to illustrate overall structure</li>
39-
<li>Simplified installation and startup instructions in the root directory README file</li>
40-
<li>Improved documentation in chronos_npm_package README file for easier on-boarding </li>
63+
<ul>
64+
<li>Created new and improved microservices application with updated syntax to better demonstrate Chronos' capabilities</li>
65+
<li>Dockerized microservices application to demonstrate Chronos within a containerized environment</li>
66+
<li>Added visulization of Chronos' codebase to illustrate overall structure</li>
67+
<li>Simplified installation and startup instructions in the root directory README file</li>
68+
<li>Improved documentation in chronos_npm_package README file for easier on-boarding </li>
69+
</ul>
4170

4271
<a href='https://medium.com/@holmgren.e/crisis-averted-chronos-guards-against-development-disasters-8f3653f3c136'>Version 13.0 Medium Article</a>
4372

44-
### **Iteration Log**
73+
</ul>
74+
</details>
4575

4676
<details><summary>Chronos 12.0</summary>
4777
<ul>
@@ -186,7 +216,7 @@ Updates:
186216
</ul>
187217
</details>
188218

189-
### With Chronos 13.0
219+
### With Chronos 14.0
190220

191221
<a href="https://chronoslany.com/">
192222
<img src="assets/demo.gif" alt="Chronos" title="Chronos" align="center" height="500" width="auto" />
@@ -196,7 +226,8 @@ Updates:
196226

197227
## Overview of the CodeBase
198228

199-
- Instead of the typical folders & files view, a visual representation of the code is created. Below, it's showing the same repository, but instead of a directory structure, each file and folder as a circle: the circle’s color is the type of file, and the circle’s size represents the size of the file. See live demo <a href='https://mango-dune-07a8b7110.1.azurestaticapps.net/?repo=oslabs-beta%2FChronos'>here</a>.
229+
- If you want to visualize the way the files in the app are connected, we suggest using this data visualizer. Below, it's showing the same repository, but instead of a directory structure, each file and folder as a circle: the circle’s color is the type of file, and the circle’s size represents the size of the file. See live demo
230+
<a href='https://mango-dune-07a8b7110.1.azurestaticapps.net/?repo=oslabs-beta%2FChronos'>here</a>.
200231
<img src="assets/codebase_visulization.png" alt="codebase visulization" align="center" height="500"/>
201232

202233
## Features
@@ -261,9 +292,9 @@ export DISPLAY="`sed -n 's/nameserver //p' /etc/resolv.conf`:0"
261292
1. From the root directory, run `npm install`
262293
2. Run `npm run start:electron` to start the electron app.
263294
3. Run `npm audit fix` or `npm audit fix --force` if prompted
264-
4. Refer to `Examples` sections below to spin up example applications.
265-
(Recommended):
266-
If you have mongo community edition running locally just run `npm run start:microservices` to start populating database with server data(more detail in Microservices Example section).
295+
4. Refer to `Examples` sections below to spin up example applications.
296+
(Recommended):
297+
If you have mongo community edition running locally just run `npm run start:microservices` to start populating database with server data(more detail in Microservices Example section).
267298

268299
#
269300

examples/microservices/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,10 @@ create_dirs:
2929

3030
# Create .env files
3131
create_env_files:
32+
@echo "$$ENV_CONTENT" > .env
3233
@$(foreach dir,$(DIRS),echo "$$ENV_CONTENT" > $(dir)/.env;)
3334

3435
# Clean up .env files
3536
clean:
37+
@rm -f .env
3638
@$(foreach dir,$(DIRS),rm -f $(dir)/.env;)

examples/microservices/README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,14 @@ The Event Bus serves as the intermediary between the backend services, facilitat
3535

3636
The common folder maintains code snippets used across each microservice, and is distributed by way of a common NPM package.
3737

38-
## To Set Up Database for Storing/Retrieving Metrics
3938
## Database and .env setup
4039

41-
A `sample.env` file, located in the `examples/microservices` folder, has been provided with the necessary enivronmental variables to spin-up the application.
40+
A `Makefile` file, located in the `examples/microservices` folder, has been provided with the necessary environmental variables to spin-up the application.
4241

43-
Create your own `.env` file in the `examples/microservices` folder with the following key/value pairs:
42+
This file used the community version of `MongoDB`, make sure it's connected before running `npm run start:microservices`.
43+
It can be replaced by any Mongo_URI.
4444

45+
Example:
4546
- `CHRONOS_DB`: `MongoDB` or `PostgreSQL`
4647
- `CHRONOS_URI`: The URI to the desired MongoDB or PostgreSQL database where the **Chronos NPM Package** will store recorded metrics. The **Chronos desktop application** retrieves and displays metrics from this database
4748
- `MONGO_URI_AUTH`: A **MongoDB** URI for the `auth` microservice to use
@@ -53,7 +54,7 @@ Create your own `.env` file in the `examples/microservices` folder with the foll
5354

5455
Note: You may run out of space in your database if the services run for an extended period of time. You can temporarily solve this by manually deleting the collection from the database regularly using a UI such as MongoDB Compass.
5556

56-
## Start the Microservices
57+
## Start the example
5758

5859
To spin up the example application:
5960

@@ -63,15 +64,14 @@ To spin up the example application:
6364

6465
<img src="../../assets/example_microservices_card.gif" alt="Chronos" title="Chronos" align="center" />\
6566

66-
6767
Open a web browser to `localhost:5001` to send requests from the client
6868

6969
Your microservice health metrics may be viewed in the given `CHRONOS_URI` database, or in the Electron.js desktop application.
70+
7071
## Notes
7172

7273
Plotly utilizes WebGL to render graphs, but WebGL can support only 8-16 layers simultaneously. Therefore, it is recommended to selectively choose a limited number of layers for optimal performance.
7374

74-
7575
## Additional Documentation
7676

7777
For additional information on how Chronos works this example, please review the microservices section in the [Chronos NPM Package README](../../chronos_npm_package/README.md).

0 commit comments

Comments
 (0)