Skip to content

Commit b0de94b

Browse files
committed
update readme
1 parent a5685f7 commit b0de94b

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

README.md

+11-4
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,20 @@ Each exercise folder contains the following:
1515
- A partial copy of the NanoDash codebase (under `exerciseN/nanodash/`), containing one or more spots for you to "fill-in-the-blanks" by implementing part of the NanoDash logic
1616

1717
- A sample app (`exerciseN/app.py`) which will run correctly once the exercise has been completed
18+
- To run the app from the repository root: `python exerciseN/app.py`
1819

1920
- A tests file (`test_exerciseN.py`) which will pass once the exercise has been completed.
2021
- To run the tests for exercise N from the repository root: `python -m pytest exerciseN/`
21-
- To run the tests for exercise N from within the exercise directory: `python -m pytest`
2222

23-
## Note on running Pytest
24-
We recommend running `python -m pytest` rather than just `pytest`, because it ensures using the python in your virtual environment rather than the system python.
23+
## A note on running Pytest
24+
We recommend using the command `python -m pytest` rather than just `pytest`, because it ensures using the Python in your virtual environment rather than the system Python.
2525

2626
## Exercise outline
2727

2828
Each exercise focuses on implementing a specific part of the NanoDash framework.
2929

3030
### Exercise 1: Making a basic Flask server which serves a static HTML page
31+
---
3132

3233
**Goal**: Set up a simple Flask server that serves one static HTML page.
3334

@@ -41,6 +42,7 @@ Each exercise focuses on implementing a specific part of the NanoDash framework.
4142
`python -m pytest exercise1/`
4243

4344
### Exercise 2: Implementing input components
45+
---
4446

4547
**Goal**: Implement basic input components as Python objects, to be used as building blocks for interactive dashboards.
4648

@@ -55,7 +57,8 @@ Each exercise focuses on implementing a specific part of the NanoDash framework.
5557
**Command to run tests**
5658
`python -m pytest exercise2/`
5759

58-
### Exercise 3: Implementing the Graph component
60+
### Exercise 3: Implementing the Graph component
61+
---
5962

6063
**Goal**: Implement the Graph component, which uses Plotly.js to display Plotly figures in the browser.
6164

@@ -69,6 +72,7 @@ Each exercise focuses on implementing a specific part of the NanoDash framework.
6972
`python -m pytest exercise3/`
7073

7174
### Exercise 4: Gathering the page state when an input changes
75+
---
7276

7377
**Goal**: Implement the Javascript logic to capture the state of all components on the page, and bundle it into a JSON request to send to the Flask server.
7478

@@ -84,6 +88,7 @@ Don't worry — we've provided some useful helper functions inside the Javascrip
8488
`python -m pytest exercise4/`
8589

8690
### Exercise 5: Running callbacks
91+
---
8792

8893
**Goal**: Implement the Python logic which receives the page state from the frontend, runs the necessary callbacks, and sends the results back to the frontend. Also implement the logic which allows a user to add a callback to their app.
8994

@@ -98,6 +103,7 @@ Don't worry — we've provided some useful helper functions inside the Javascrip
98103
`python -m pytest exercise5/`
99104

100105
### Exercise 6: Updating the page with callback results
106+
---
101107

102108
**Goal**: Implement the Javascript logic to update the page's UI components based on the callback results received from the server.
103109

@@ -111,6 +117,7 @@ Don't worry — we've provided some useful helper functions inside the Javascrip
111117
`python -m pytest exercise6/`
112118

113119
### Exercise 7: Writing your own NanoDash application
120+
---
114121

115122
**Goal**: Use the NanoDash framework to write your own interactive dashboard. You can modify the framework or add new components if you like.
116123

0 commit comments

Comments
 (0)