An open API service indexing awesome lists of open source software.

https://github.com/ttibbs/typescript-katas

Just me learning TypeScript using TDD
https://github.com/ttibbs/typescript-katas

jest katas test-driven-development typescript

Last synced: 6 months ago
JSON representation

Just me learning TypeScript using TDD

Awesome Lists containing this project

README

          

# TypeScript Katas

Welcome to my **TypeScript Katas** repository! 🚀
This project is a collection of coding katas implemented in TypeScript to enhance my skills in TypeScript and problem-solving.

## 📚 About

Coding katas are small coding exercises designed to improve programming skills through practice. This repository serves as a personal learning playground where I focus on:

- Mastering TypeScript syntax and features.
- Practising clean, maintainable, and efficient code.
- Strengthening problem-solving skills with a variety of challenges.

## 🛠️ Technology Stack

Language: TypeScript
Testing Framework: Jest

## 🚀 Getting Started

Follow these steps to clone and run the repository locally:

1. Clone the Repository
```bash
git clone https://github.com/your-username/typescript-katas.git
cd typescript-katas
```

2. Install Dependencies
Make sure Node.js and npm are installed. Then run:

```bash
npm install
```

3. Run Tests
Execute all tests to verify solutions:

```bash
npm test
```

4. Run a Specific Test (Optional)
To run a test for a specific kata:

```bash
npm test --
```

## 📝 Structure

Each kata is organised in its own folder or file with:

- Problem Description: A comment or markdown file explaining the problem.
- Solution: TypeScript code solving the problem.
- Tests: Unit tests to validate the solution.

## 🌱 Katas Completed

| Kata Name | Concepts Practiced |
| ------------- | ------------- |
| Reverse String | String manipulation, function definitions, method chaining, edge cases |
| Palindrome Checker | Function composition, boolean logic, ternary operators, code reusability |
| Add/Subtract/Multiply/Divide | Type annotations, function signatures, arithmetic operations, error handling |
| Create Person | Interfaces, parameterised constructors, type safety, object creation patterns |
| Reverse Array | Generics, immutability, array methods, type inference |
| ------------- | ------------- |
| Jest Testing | Test organisation, assertions, integration testing, type annotations, automated testing workflow |

## 🤝 Contributing

This is a personal learning project, but feedback and suggestions are always welcome!
Feel free to fork the repository, experiment, and open a pull request with improvements or additional katas.