Skip to content

A collection of backend, database, and Python projects showcasing data structures, algorithms, REST APIs, caching (LRU/LFU), SQL & MongoDB, streams, and test-driven development using Python, TypeScript, Node.js, and Express.

Notifications You must be signed in to change notification settings

malikinss/telran

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 

Repository files navigation

Tel-Ran College IT courses

Backend - Course

TypeScript + Node.js

A TypeScript CLI application that simulates a lottery draw (Sportloto), generating unique random numbers within a specified range. Supports input validation, custom arguments, and unit testing with Jest.

A TypeScript Node.js application that extracts code and comments from a source file into separate files. Uses asynchronous file reading, line-by-line parsing, and supports unit testing with Jest.

A TypeScript Logger with configurable log levels, timestamped messages, and colored console output. Supports level-specific and global handlers, leveraging Node.js EventEmitter for flexible logging and extensibility.

A TypeScript Node.js application providing a readable stream of random numbers. Supports unique or non-unique numbers, configurable ranges and amounts, streaming output, and centralized configuration with proper error handling.

A TypeScript Node.js project that generates random unique numbers using an asynchronous stream pipeline. Features modular streams for generation, uniqueness enforcement, formatting, and console output, with configuration-driven parameters and robust validation.

A TypeScript Node.js HTTP server that performs basic arithmetic operations via JSON requests. Validates input, executes calculations, handles errors with appropriate HTTP status codes, and follows a modular design separating controller, service, and utility modules.


Express

A TypeScript Express server demonstrating custom middleware, request rate limiting, and modular routes. Features include timestamping requests, limiting repeated requests, and structured JSON responses with proper HTTP status codes.

A TypeScript Express backend for managing employees with full CRUD functionality. Features include in-memory data storage, modular routes and controllers, middleware for JSON parsing, logging, and error handling, and integration-ready endpoints for a React front-end.

A TypeScript + Express backend for managing employees with full data validation using Zod and persistent storage in a JSON file. Features include CRUD operations, graceful shutdown with auto-save, error-handling middleware, and fully typed endpoints.

A TypeScript + Express backend for managing employees with JWT-based authentication and role-based access control. Features include CRUD operations, Zod validation, in-memory storage with JSON persistence, and secure endpoints for ADMIN and USER roles.

TypeScript + Express backend for employee management with comprehensive controller unit tests and route integration tests. Features JWT authentication, role-based access, Zod validation, in-memory + file persistence, and automated testing using Supertest and Node’s native test runner. Ensures all endpoints are fully validated and secure.

TypeScript unit tests for the EmployeesService module. Covers all service methods (getAll, getEmployee, addEmployee, updateEmployee, deleteEmployee) with success and error cases. Uses Node’s built-in test runner to ensure isolated, reliable business logic without involving Express routes.


Data Base

TypeScript SQL-backed employee service implementing AbstractEmployeesServiceSql with full CRUD using Knex and SQLite. Ensures persistent storage, testable service methods, and integration with the service registry. All methods are covered by unit tests.

TypeScript MongoDB-backed employee service implementing AbstractEmployeesServiceMongo. Provides full CRUD with in-memory Mongo simulation, Zod validation, and role-based access. All service tests pass, ensuring reliable, modular persistence compatible with multiple storage backends.


SQL

SQL queries on the Chinook database exploring tracks, albums, artists, invoices, customers, playlists, and employees. Focuses on multi-table JOINs, sorting, date formatting, and extracting meaningful relationships. Strengthens practical SQL skills for backend and data-driven applications.

Advanced SQL analysis on the Chinook database, including revenue aggregation, anomaly detection, and data integrity checks. Tasks cover unsold tracks, top-grossing tracks and genres, invoice total mismatches, and albums with inconsistent track pricing. Strengthens practical analytical SQL skills for backend, BI, and data engineering.

Advanced analytical SQL queries on the Chinook database using window functions, ranking, cumulative sums, and Pareto logic. Includes top tracks, revenue-generating genres, top customers, invoice distributions, and employee contributions. Focused on transforming transactional data into actionable business insights.


MongoDB

Practice MongoDB queries on the sample_mflix Atlas database, including filtering by year, languages, genres, directors, and comparing fields with $expr. Demonstrates projections, array matching, and basic query operators.

Advanced MongoDB Atlas aggregations on the sample_mflix database. Queries include top actors by movie count, filtering by languages and viewer ratings, comparing array sizes, and ranking movies by awards. Demonstrates $unwind, $group, $setWindowFields, $expr, and array operations.

MongoDB Atlas aggregation queries using $lookup to join comments, movies, and users collections. Tasks include retrieving fully joined comment data and re-implementing a global average viewer rating filter without $setWindowFields.


Python

Enhanced binary search implementation in Python that returns the first occurrence of a value and an encoded insertion index when not found, while preserving O(log N) complexity. Includes edge-case handling and automated tests.

Two efficient O(N) Python solutions using hash sets: one checks if any pair sums to a target value, the other finds the largest positive number that has a negative counterpart. Includes edge-case handling and unit tests.

Python implementations of Club and Dictionary classes showcasing efficient collection management. The project uses sorted containers for fast range queries, multi-key sorting, and case-insensitive prefix search, with full unit test coverage.

Custom Python implementations of dictionary-like data structures: a basic set-backed dictionary, a sorted dictionary with logarithmic operations, and an LRU cache built on OrderedDict. The project focuses on data structures, complexity guarantees, and full unit test coverage.

Python implementations of optimized data structures: an integer stack with O(1) max retrieval and a sorted number container supporting efficient removal, filtering, and deduplication, fully covered by unit tests.

Memory-efficient generic array implementation supporting O(1) set, get, and set_all operations without allocating space proportional to the array size, fully validated by unit tests.

Custom dictionary-like cache implementing an LFU eviction policy with LRU tie-breaking, providing a full dict interface, efficient frequency tracking, and comprehensive unit test coverage.

Flexible random number stream with support for filtering, limiting, and distinct value generation, implemented as a custom iterable and fully covered by unit tests.


Machine Learning

A small Python utility for converting categorical string columns in a pandas DataFrame into sequential numeric values. Designed for clean data preprocessing, with a functional API and full unit test coverage.

A Python project that predicts car models based on customer attributes like Gender and Color using a Decision Tree Classifier. Includes categorical encoding, model persistence, accuracy evaluation, and basic data analysis with pandas.

Python implementation of Conway’s Game of Life with a pure algorithmic core, NumPy-based matrix operations, stable-state detection, and Jupyter-based visualization. Fully unit-tested and interview-ready.

Python implementation of a lightweight text-based similarity search model using TF-IDF vectorization and cosine similarity. Supports question-answering by returning the most relevant sentences from a given text. Fully unit-tested and designed for educational NLP experiments.

Python class ImageInfo for analyzing YOLOv8 segmentation results. Provides structured access to detected objects, filtering by class, detailed box info, and mapping suitcases/handbags to the nearest person using normalized distances. Ideal for computer vision analytics, object tracking, and spatial reasoning experiments.

About

A collection of backend, database, and Python projects showcasing data structures, algorithms, REST APIs, caching (LRU/LFU), SQL & MongoDB, streams, and test-driven development using Python, TypeScript, Node.js, and Express.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published