This is Typescript Data Structure project, but It's not aim to Fast, Light, and Powerful implementation.
This project aims to show how Typescript (Typed Language) solves well-known software problem. That's why This project implements data structures.
This project want shows OOP(Object-ed-Programming) with Typescript.
This project want shows modern development methodology TDD(Test-Driven Development), BDD(Behavior-Driven Development).
This project want shows How to manage software health continuously.
Build / Test Automation ( with Code coverage Report) would shows current status of software healthy and robust.
- DataStore Test Specs
- DataStore Implementations
- Stack Test Specs
- Stack Implementations
- Queue Test Specs
- Queue Implementations
- List Test Specs
- List Implementations
- LinkedList Test Specs
- LinkedList Implementations
- Search Algorithm Test Specs
- Search Algorithm Implementations
- Sort Algorithm Test Specs
- Sort Algorithm Implementations
DataStore is 'Abstraction of data storage' generic type of this project.
Array [] is used as data storage in general data structure. Array is simple, fast type itself, but Consumer should manage array index and implements common interface repeat.
DataStore uses Array internally, and provide conceptual interface to Consumer. This design approach makes SW more manageable.
npm run setup
npm test
test reports only.
npm run test-with-coverage
will generates coverage reports with test reports.
Writes Test specs according by Specification by Example that would be Living Documentation.
Given
When
Then
as possible.
Typedoc would generates code documents from code comments.
npm run docs
This project setup deployments automatically. Travis-CI and Github release.
publish on Github pages https://vandbt.github.io/typescript-datastructure/.
publish on Github pages under ./coverage https://vandbt.github.io/typescript-datastructure/coverage.
- Typescript - The language used
- Node - The build and dev environment
- NPM - Package Management
- Mocha - Used to Test framework
- Chai - Used to TDD/BDD assertion library
- istanbul - Used to test coverage
- Typedoc - Used to code document
- Travis CI - Used to Continuos Integration
- OOP (Object-Oriented Programming / Design)
- TDD (Test-Driven Development)
- BDD (Behavior-Driven Development)
- Agile
Hope to follow SemVer for versioning. For the versions available, see the tags on this repository.
- SC - vandbt
This project is licensed under the MIT License - see the LICENSE.md file for details
- TBD