Skip to content

Commit 3d3d543

Browse files
committed
Updated readme, prepared project for first sprint
1 parent 402ce77 commit 3d3d543

File tree

1 file changed

+90
-12
lines changed

1 file changed

+90
-12
lines changed

README.md

Lines changed: 90 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,105 @@
1-
# CodeInstituteUserCentricAlgorithms
1+
# Algorithm Benchmarks
22

3-
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 8.0.2.
3+
As a programmer you need to always leverage between several possible different solutions the one that would be most efficient. One common problem is the sorting, inserting or accessing data. To solve this problem, along programming history, several algorithms have been created. This project attempts to help a fellow programmer to choose which algorithm shall be used by providing a benchmarking operationg and plotting the results in a variety of graphs.
44

5-
## Development server
5+
## UX
66

7-
Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.
7+
The intended user of this website is a programmer of any level who wants to pick an algorithm for its desired implementation. It will primarily focus in low complexity algorithms like the ones one would study in Computer Science undergraduate courses.
88

9-
## Code scaffolding
9+
A base benchmark will be provided but the user would be able to generate them based on personalized data provided. A randomized dataset can also be generated on demand, providing the user with different options in terms of size and data type, as well as option to generate best-case and worst-case scenarios.
1010

11-
Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.
11+
On the first iteration only sorting algorithms will be provided, leaving the project open for extension for other types of algorithms.
1212

13-
## Build
13+
It is also expected that the website will be desktop-first, as the main audience of this project will primarily be researching this while working on a project on the side, and it's unreasonable to think this will be done on a mobile. It will be however be designed with a responsive approach for those who decide to use a smaller screen size while using this website.
1414

15-
Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build.
15+
### User Stories
1616

17-
## Running unit tests
17+
- As a user, I want to be able to see different tables of algorithm efficiency, so I can pick the best suited to my project.
18+
- As a user, I want to be able to run different benchmarks for predefined algorithms, so I can be certain that the results adjust to my specific use case.
19+
- As a user, I would like to be able to use my very own data sets or algorithms so I can compare with the predefined ones and have a clearer picture of my options.
20+
21+
### Wireframes
22+
23+
This section is also where you would share links to any wireframes, mockups, diagrams etc. that you created as part of the design process. These files should themselves either be included in the project itself (in an separate directory), or just hosted elsewhere online and can be in any format that is viewable inside the browser.
24+
25+
## Features
26+
27+
In this section, you should go over the different parts of your project, and describe each in a sentence or so.
28+
29+
### Existing Features
30+
31+
- Feature 1 - allows users X to achieve Y, by having them fill out Z
32+
- ...
33+
34+
For some/all of your features, you may choose to reference the specific project files that implement them, although this is entirely optional.
35+
36+
In addition, you may also use this section to discuss plans for additional features to be implemented in the future:
37+
38+
### Features Left to Implement
39+
40+
- Another feature idea
41+
42+
## Technologies Used
43+
44+
In this section, you should mention all of the languages, frameworks, libraries, and any other tools that you have used to construct this project. For each, provide its name, a link to its official site and a short sentence of why it was used.
45+
46+
- This project was scaffolded by [Angular CLI](https://github.com/angular/angular-cli) version 8.0.2.
47+
- Project organization and task management provided by [GitHub and GitHub Projects](https://github.com)
48+
49+
## Testing
50+
51+
In this section, you need to convince the assessor that you have conducted enough testing to legitimately believe that the site works well. Essentially, in this part you will want to go over all of your user stories from the UX section and ensure that they all work as intended, with the project providing an easy and straightforward way for the users to achieve their goals.
52+
53+
Whenever it is feasible, prefer to automate your tests, and if you've done so, provide a brief explanation of your approach, link to the test file(s) and explain how to run them.
54+
55+
For any scenarios that have not been automated, test the user stories manually and provide as much detail as is relevant. A particularly useful form for describing your testing process is via scenarios, such as:
56+
57+
1. Contact form:
58+
1. Go to the "Contact Us" page
59+
2. Try to submit the empty form and verify that an error message about the required fields appears
60+
3. Try to submit the form with an invalid email address and verify that a relevant error message appears
61+
4. Try to submit the form with all inputs valid and verify that a success message appears.
62+
63+
In addition, you should mention in this section how your project looks and works on different browsers and screen sizes.
64+
65+
You should also mention in this section any interesting bugs or problems you discovered during your testing, even if you haven't addressed them yet.
66+
67+
If this section grows too long, you may want to split it off into a separate file and link to it from here.
68+
69+
### Running unit tests
1870

1971
Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
2072

21-
## Running end-to-end tests
73+
### Running end-to-end tests
2274

2375
Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).
2476

25-
## Further help
77+
## Deployment
78+
79+
This section should describe the process you went through to deploy the project to a hosting platform (e.g. GitHub Pages or Heroku).
80+
81+
In particular, you should provide all details of the differences between the deployed version and the development version, if any, including:
82+
83+
- Different values for environment variables (Heroku Config Vars)?
84+
- Different configuration files?
85+
- Separate git branch?
86+
87+
In addition, if it is not obvious, you should also describe how to run your code locally.
88+
89+
## Credits
90+
91+
### Content
92+
93+
- The text for section Y was copied from the [Wikipedia article Z](https://en.wikipedia.org/wiki/Z)
94+
95+
### Media
96+
97+
- The photos used in this site were obtained from ...
98+
99+
### Acknowledgements
100+
101+
- I received inspiration for this project while assisting some students I tutor through GrindsCentre.
26102

27-
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
103+
- Algorithm Implementations: https://khan4019.github.io/front-end-Interview-Questions/sort.html
104+
- https://dev.to/wangonya/sorting-algorithms-with-javascript-part-1-4aca
105+
- https://dev.to/wangonya/sorting-algorithms-with-javascript-part-2-3g51

0 commit comments

Comments
 (0)