C & CPP

C

Document Map


Creating a structure (struct) of a document's long string and separating it into a struct document that contains structs paragraph that contains structs sentence that contains structs words.
The form of it:
struct document => struct paragraph => struct sentence => struct word.
To view the code   Click Here

Communications

Generic Hash Table


HashTables are data structures that support these three operations:
1. Adding an element
2. Removing an element
3. Searching for an element .
The HashTable implemented by using an array that at each index of the array, there is a pointer to a linked list. The HashTable is support int and strings.
To view the code   Click Here

HTTP Client


An HTTP client that constructs an HTTP request based on user’s command line input, sends the request to a Web server, receives the reply from the server, and displays the reply message on screen. (support only IPv4 connections).
For Example:
./client -p blabla -r 2 tel=02-6655443 age=23 http://www.ptsv2.com/t/ex2
The Request would be:
POST /t/ex2?tel=02-6655443&age=23 HTTP/1.0
Host: www.ptsv2.com
Content-length:6

blala
To view the code   Click Here

HTTP Server & Thread-pool


HTTP server that:
- Constructs an HTTP response based on client's request.
- Sends the response to the client.
The server creates the pool of threads in advanced and each time it needs a thread to handle a client connection, it take one from the pool or enqueue the request if there is no available thread in the pool.
There is always one socket where the server listens to connections and for each client connection request, the server opens another socket. and let a thread handle it.
To view the code   Click Here

CPP

Binary Tree


The program receives numbers and builds a binary tree (using struct node). It stores each number in the right place on the tree. It can also print the tree, create a mirror of the tree, check its height, print the smallest value, check its "binary search tree" and check if two trees are the same.
To view the code   Click Here

Polynomial


Receives polynomial and can do a lot of calculation with them like sum of two polynomials or multiply them. after you enter the numbers and put them in array and each object is a polynomial and can do +,+=,-,-=,*,*=,=,[] and the output: print the polynomial from the bigger to the smallest of the coefficient.
To view the code   Click Here

Java

Chess pieces


There is an implementation of polymorphism with a Knight and a Bishop and the calculations of victories between them.
To view the code   Click Here

Sudoku


A backtracking algorithm that solves sudoku at all levels from easy to very difficult.       The algorithm checks the numbers available in each cell according to the row-column-cube rule and the numbers already filled, and according to this it will fill the cell with a number and read recursively for the next cell, until it finishes solving.
To view the code   Click Here

Operating System

Memory Management


its a simulation of system memory Management , how the system load the process to memory and have page table , that we don't need to bring all pages at ones, where we keep all the file we edited...
To view the code   Click Here

Disk Memory Management


Its a simulation of disk memory Management , how the disk create files open them reads form them, delete and write... for each file we have inode (a structure) that points to blocks on disk and there will be the file data.
To view the code   Click Here

javaScript

IMJ - Full Stack project


I built this project for The Israel Museum, Jerusalem.
The technology stack:
  > For the DB I used MySQL
  > For the FrontEnd I used React with Redux
  > For the BackEnd I used REST-API and WebSocket (NodeJS)
  > For the deployment I used Heroku
  > For the documentation I used wiki.js
  > To menage all the project I used Monday and Git
The project goal is to build a Management events system for IMJ.
To view the FrontEnd code   Click Here
To view the BackEnd code   Click Here
To view the documentation (use the credential below)   Click Here
username: imj.guest@gmail.com
password: 87654321
To view the platform (use the credential below)   Click Here
username: imj.guest
password: Aa123456

Need For Meat


I built this site together with a partner, and there is a bit of html and css but mostly a lot of javascript, the site is called Need For Meat, where you can find everything from good restaurants and quality recipes to grill-man for your event.
To view the code   Click Here
To view the website   Click Here


Memory game


I built this site together with a partner, and there is a bit of html and css but mostly it is Jquery, the site is a Memory Matching game - you have on screen 30 pictures and after you press on one pic you need to press on a second pic to find his match.
To view the code   Click Here
To view the website   Click Here

CRUD - API - Server


I built this site together with a partner, This is an implementation of CRUD API. CRUD stands for Create, Read, Update, and Delete. In this application I wrote both client and server sides,In the server I used a json file to handle all the data. The story here is a tour site and in the client side you can Create, Read, Update, and Delete tours and sites, I also added a validation in both sides client & server. for the implementation of this I used: Jquery, Express , Node , Ajax.
To view the code   Click Here

CRUD-api-server-mongo


This is an implementation of CRUD API. CRUD stands for Create, Read, Update, and Delete.
The same site as the "CRUD - API - Server" above, but this time the implementation of CRUD API is not to handle data in a json file, Here for all the data handling in the CRUD functions I used MongoDB.
To view the code   Click Here

Android Studio

Flutter

Yana


YANA is a social initiative intended to fight against loneliness amongst young adults This project is meant to help people create new social circles within safe spaces. I built the App with my friends, to learn more about the app go to our Wiki.
To view our Wiki   Click Here
To view the code   Click Here


Java

Work Schedule


This app will help you send your shifts for work and will help the manager create and organize the shifts with one press of a button.
To view the code   Click Here


Musician Finder


This app will help musicians find other musicians or bands to play music with. Users can chat with other people, upload posts and connect with other people in their area. We did extensive use with FireBase (authentication, real-time database). It was created with friends, as a team.
To view the code   Click Here


Tic Tac Toe


This is the famous game Tic Tac Toe / noughts and crosses. There are Xs and Os, the players take turns marking the spaces in a 3×3 grid. The first player who succeeds in placing three of their marks in a horizontal, vertical, or diagonal row is the winner. You can play against the computer or against your friend. The computer looks for the quickest way to win in the least moves.
To view the code   Click Here

Python

Big Data


This is an implementation of k-means algorithm(Machine Learning) on NBA player data over Spark. Spark is use for to calculate the data over number of machines and not only one, this way we don't have bottleneck's.
To view the code   Click Here