Skip to content

Commit c59959b

Browse files
committed
Revised README.md -> dev branch
Merge remote-tracking branch 'origin/feature/update_readme' into dev
2 parents 38124ed + 0c167c9 commit c59959b

File tree

1 file changed

+77
-27
lines changed

1 file changed

+77
-27
lines changed

README.md

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

3-
This is most recent version modified by the students from Semester 2 2021 COMP90082_2021 Software Project.
3+
![license](https://img.shields.io/badge/license-MIT-Green) ![node](https://img.shields.io/badge/node-v18.17.1-blue) ![npm](https://img.shields.io/badge/npm-v9.6.7-blue)
44

5-
* This is a team sub-branch of the main branch. Please tracking most stable running model.
5+
Welcome to Algorithms In Action!
66

7-
## Organisation of folders
7+
Here is the [link](https://algorithms-in-action.github.io/) to run the algorithm visualiser on your browser.
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+
We recommend you read the [WIKI](https://github.com/algorithms-in-action/algorithms-in-action.github.io/wiki) for more project details.
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+
- [Algorithms in Action](#algorithms-in-action)
12+
- [Project Description](#project-description)
13+
- [Development History](#development-history)
14+
- [Developer](#developer)
15+
- [Start Up](#start-up)
16+
- [Deployment](#deployment)
17+
- [Environment Setup](#environment-setup)
18+
- [Install Dependencies](#install-dependencies)
19+
- [Start a local server](#start-a-local-server)
20+
- [Branch Management](#branch-management)
21+
- [Folder Organisation](#folder-organisation)
22+
- [License](#license)
2023

21-
## Deployment
24+
## Project Description
2225

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.
26+
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 the paper <sup>[1]</sup>.
2427

25-
**First-time Setup**
28+
> [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.
2629
27-
Ensure you have node version 14.x and npm version 6.x or higher
30+
## Development History
2831

29-
To verify, type the following commands in your terminal/ command prompt -
32+
The original AIA eventually had modules for some 24 different algorithms, and was used by students at The University of Melbourne and elsewhere. It won two algorithm animation awards. 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.
3033

31-
`node --version`
34+
Starting in 2020, the program has been redeveloped by successive groups of Software Engineering, Computer Science and IT students plus interns at The University of Melbourne, using the latest software tools. In the second half (second semester) of 2023 there was a significant change to some of the core modules to keep up with the latest version of Javascript, Python and the packages AIA relies on, plus a revamp of the github repository, including the [WIKI](https://github.com/algorithms-in-action/algorithms-in-action.github.io/wiki). The plan is to ensure the master branch and executable system hosted on github has only stable, high quality algorithm animations visible. The repository will also contain other algorithm animations at various stages of development. The three academics involved in the initial development are now retired but still supervise development; we would welcome contact with others who are interested in using and/or contributing to AIA.
3235

33-
`npm --version`
36+
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).
3437

35-
Navigate to the root directory of the project and run `npm install` to install all the dependencies in package.json
38+
## Developer
3639

37-
**Running a local development server**
40+
### Start Up
3841

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
42+
1. Clone the code
43+
2. Run the project locally
44+
3. Checkout to your personal branch
45+
4. Make some modifications
46+
5. Merge your code into target branch
4047

41-
## Demo
48+
### Deployment
4249

43-
We currently have an accessible link to the application, link has shows as above.
50+
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.
4451

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.
52+
#### Environment Setup
4653

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.
54+
Ensure you have node version 18.x and npm version 9.x or higher.
55+
56+
You may also need to install python 3.x for the project.
57+
58+
To verify, you can input the following command in your terminal or command line.
59+
60+
```bash
61+
node --version && npm --version && python --version
62+
```
63+
64+
#### Install Dependencies
65+
66+
Navigate to the **root directory of the project** and run npm to install all the dependencies in package.json
67+
68+
```bash
69+
npm install
70+
```
71+
72+
#### Start a local server
73+
74+
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
75+
76+
```bash
77+
npm start
78+
```
79+
80+
### Branch Management
81+
82+
Currently, this project use `dev` as main branch. The branch named like `dev-20YYSX` (20YY = year, X = semester number) will be development branch for new version. Only the development branch should be merged into main branch.
83+
84+
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.
85+
86+
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).
87+
88+
### Folder Organisation
89+
90+
| Name | Description |
91+
| ----- | ---------------------------------------------------------- |
92+
| ./src | Source code of the web app. |
93+
| ./ui | Contains all the images and graphics used for the project. |
94+
95+
## License
96+
97+
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)