This repository contains my solutions to John Crickett's Coding Challenges. The challenges are available at https://codingchallenges.fyi/challenges/intro.
Using Typescript as the language throughout the challenges.
Just trying to learn Typescript and improve my problem solving skills.
I am also trying to incorporate testing, documentation and a better GIT control.
Checkout my Notion where I share how I tackled these challenges, along with my learnings.
src
- Contains all the source codetests
- Contains all the test files
- Write your own wc tool
- Write your own JSON parser
- Write Your Own Compression Tool
- Write Your Own cut Tool
- Write You Own Load Balancer
- Write Your Own Sort Tool
- Write Your Own Calculator
- Write Your Own Redis Server
- Write your own grep
- Write Your Own uniq Tool
- Write Your Own Web Server
- Write Your Own URL Shortener
- Write Your Own diff Tool
- Write Your Own Shell
- Write Your Own cat Tool
- Write Your Own IRC Client
- Write Your Own Memcached Server
- Write Your Own Spotify Client
- Write Your Own Discord Bot
- Write Your Own LinkedIn Carousel Generator
- Write Your Own Sed
- Write Your Own DNS Resolver
- Write Your Own Traceroute
- Write Your Own Realtime Chat Client and Server - Duplicate of Write Your Own IRC Client
- Write Your Own NATS Message Broker
- Write Your Own Git
- Write Your Own Rate Limiter
- Write Your Own NTP Client
Don't ask me about this GAP. This ain't an interview!
The following command will build all the .ts files present in src
folder into a new build
folder.
npm install
npm run build
The following command will run all the tests present under the tests
folder and create the coverage report in coverage
folder.
All the relevant required test input files are present in tests folder itself.
npm test
To run tests for specific challenge, use the following command:
# npm test src/<challenge-number>/
npm test src/2/
npm test src/3/