Skip to content

Commit da07cff

Browse files
committed
Feat(README.md): Update README
Author: Ziyuan Chen (Simon Chen)
1 parent 2983a44 commit da07cff

File tree

1 file changed

+66
-27
lines changed

1 file changed

+66
-27
lines changed

README.md

Lines changed: 66 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,86 @@
11
# Algorithms in Action
22

3-
This is most recent version modified by the students from Semester 2 2021 COMP90082_2021 Software Project.
3+
Welcome to Algorithms In Action!
44

5-
* This is a team sub-branch of the main branch. Please tracking most stable running model.
5+
Here is the [entry](https://algorithms-in-action.github.io/) for the algorithm visualiser.
66

7-
## Organisation of folders
7+
You may want to read the [WIKI](https://github.com/algorithms-in-action/algorithms-in-action.github.io/wiki) for more project details.
88

9-
- src/\
10-
Source code of the web app.
11-
- ui/\
12-
Contains all the images and graphics used for the project.
13-
14-
## Links to Tools
9+
[toc]
1510

16-
- Slack channel - https://algorithmsinactionhq.slack.com
17-
- Demo of the app (Current Team release) - https://aia.testingstar.top
18-
- Demo of the app (Current Stable release of all teams work) - https://aa.testingstar.top
19-
- Current working repository: https://github.com/Melb-Uni/AA
11+
## Project Description
2012

21-
## Deployment
13+
Algorithms in Action (AIA) is an animation software tool, developed for the purposes of teaching computer science algorithms by Linda Stern, Lee Naish, and Harald Søndergaard at The University of Melbourne. AIA features animation, pseudocode, and textual explanations, run in coordinated fashion. A key feature of AIA, not found in other algorithm animations, is that students can view an algorithm at varying levels of detail. Starting with a high level pseudocode description of the algorithm, with accompanying high level animation and textual explanation, students can expand sections of the pseudocode to expose more detail. Animation and explanation are controlled in coordinate fashion, becoming correspondingly more detailed as the pseudocode is expanded. The rationale for various features of AIA and results from students using the program were reported in [1].
2214

23-
Algorithms in Action is written in JavaScript, using the React framework. To work on it locally, you will need to install Node.js on your machine. Node.js is a JavaScript runtime that will allow us to view the website locally. NPM (Node package manager) is installed alongside when Node is installed. It is a multipurpose tool that will install 3rd party dependencies, start the app, and run test suites.
15+
> [1] Stern, L., Søndergaard, and Naish, L., A Strategy for Managing Content Complexity in Algorithm Animation, *Proceedings of the Fourth Annual SIGCSE/SIGCUE Conference on Innovation and* *Technology in Computer Science Education (ITiCSE99),* Cracow, Poland, ACM Press, 127-130, 1999.
2416
25-
**First-time Setup**
17+
## Development History
2618

27-
Ensure you have node version 14.x and npm version 6.x or higher
19+
The original AIA eventually had modules for some 24 different algorithms, and was used by students at The University of Melbourne and elsewhere. With advances in web technology and changing versions of languages, libraries, and web browsers, the program became progressively slower and slower, and eventually was no longer usable.
2820

29-
To verify, type the following commands in your terminal/ command prompt -
21+
Starting in 2020, the program has been redeveloped by successive groups of Software Engineering and Computer Science students at The University of Melbourne, using the latest software tools.
3022

31-
`node --version`
23+
XXXLee ? as at <date> AIA has XX number of modules, covering: NAMES OF MODULES
3224

33-
`npm --version`
25+
XXXLee Something about AIA on github.
3426

35-
Navigate to the root directory of the project and run `npm install` to install all the dependencies in package.json
27+
The detail version history can be accessed in wiki: [Version History](https://github.com/algorithms-in-action/algorithms-in-action.github.io/wiki/Version-History).
3628

37-
**Running a local development server**
29+
## Developer
3830

39-
Navigate to the root directory of the project and run `npm start` this will start the development server on your local machine on port 3000. The application will be launched automatically in your default browser at http://localhost:3000
31+
### Start Up
4032

41-
## Demo
33+
1. Clone the code
34+
2. Run the project locally
35+
3. Checkout to your personal branch
36+
4. Make some modifications
37+
5. Merge your code into target branch
4238

43-
We currently have an accessible link to the application, link has shows as above.
39+
### Deployment
4440

45-
This [link](https://aa.testingstar.top) above includes changes made by teams at the end of each sprint and is accessible to anyone who has the link. The version of the algorithm in action web application in the above link tracks the changes made to the `dev` branch in the Github repository. When a pull request is submitted, approved, and merged into the `dev` branch from respective team branches, the application will be redeployed with the updated changes.
41+
Algorithms in Action is written in JavaScript, using the React framework. To work on it locally, you will need to install Node.js on your machine. Node.js is an open-source, cross-platform JavaScript runtime environment. NPM (Node package manager) is installed alongside when Node is installed. It is a multipurpose tool that will install 3rd party dependencies, start the app, and run test suites.
4642

47-
This [link](https://aia.testingstar.top) is showing current team's work. It's a fast-tracking branch of alpha release which may be unstable. It has tracked with `boxjelly` branch in the GitHub repository.
43+
#### Environment Setup
44+
45+
Ensure you have node version 18.x and npm version 9.x or higher.
46+
47+
You may also need to install python 3.x for the project.
48+
49+
To verify, you can input the following command in your terminal or command line.
50+
51+
```bash
52+
node --version && npm --version && python --version
53+
```
54+
55+
#### Install Dependencies
56+
57+
Navigate to the **root directory of the project** and run c to install all the dependencies in package.json
58+
59+
```bash
60+
npm install
61+
```
62+
63+
#### Start a local server
64+
65+
Navigate to the **root directory of the project** and run the following command `npm start` this will start the server on your local machine on port 3000. The application will be launched automatically in your default browser at http://localhost:3000
66+
67+
```bash
68+
npm start
69+
```
70+
71+
### Branch Management
72+
73+
Currently, this project use `dev` as main branch. The branch named like `dev-20XXSX` will be development branch for new version. Only the development branch should be merged into main branch.
74+
75+
Therefore, if you are going to develop some new features or fix some bugs for the project, you should create a personal branch to write your code, and then merge your code into target branch.
76+
77+
You may need to check the WIKI for the [development manual](https://github.com/algorithms-in-action/algorithms-in-action.github.io/wiki/Development-Manual).
78+
79+
### Folder Organisation
80+
81+
- src/\: Source code of the web app.
82+
- ui/\: Contains all the images and graphics used for the project.
83+
84+
## License
85+
86+
Algorithms-in-action/algorithms-in-action.github.io is licensed under the MIT License, a short and simple permissive license with conditions only requiring preservation of copyright and license notices.

0 commit comments

Comments
 (0)