[Project Assignment]

Your project is to implement a shell-alike application, which acts like the Terminal / Konsole application in Ubuntu. Upon startup, it should show a command line asking the user to enter a command, for instance:

>_

[Part 1]
For your first milestone, you need to implement the basic functionality in your shell application. It should only respond to the exit command and it should terminate upon entering that command. Additionally, you need to add history support (using a key of your choice) - e.g. if the user presses the Up or DOwnarrow key, it should show the previous or next command in the terminal just like the real terminal does and auto-complete them in the terminal. Example:

>_ (pressing Up)
>ls_ (pressing Up)
>cat test.txt_ (pressing Down)
>ls_ (pressing Down)
>_

You also need to implement support for executing external commands, including support for piped commands (e.g. $ command1 | command2 | command3). Your application should be able to execute commands just like the real terminal does. Example:

>cat test.txt | grep "contents"
This is the contents of test.txt
>_


KARP ADRIAN
FLORIN ALBU
CRACIUNESCU ANDREI
CRISTODORESCU ANDREI
EMMANUEL APPOLO
DAVID ARDELEAN
ERIK AXENTE
RICHARD BACZUR
VICTOR BAICAN
NARCIS BALAN
MARIUS BIJAN
DELIA BISOC
CLAUDIU BODEA
ANDREI BOJE
MIHAI BONTEA
ADRIAN BRATA
DANIEL BRATA
TEODORA BROTEA
LUCIANA BUHUM
DORA CALEA
CATALIN CHIRITA
RALUCA CHIȘ
ROBERT CIAMA
DARIUS CIRES
NINA COCEA
DAN COJOCARU
ESTEVO CORDAL
DENISA COTUNA
RAPHAEL CROITORIU
PAUL CVASA
DARIUS DAVID
DENISA DEAK
MALINA DIACONESCU
RAUL DINSOREAN
SORINA-AURELIA DUMITRU
CARMINA FARCAS
MIHNEA FICUT
RAUL FILEA
FRANCISCO GARCIA
ROBERT GELLER
TIMOTEI GHENCIAN
DAVID GHEORGHE
LUCHIAN GHEORGHE
RAUL GROSAN
NAOMI GUI
DENIS GURAN
SEBASTIAN HAMAT
LEONARD HAN
ANDREA HEGYI
EMANUELA - DENISA HUMINIUC
CAROL IOJA
ALEXANDRU IOVIN
STEFAN JIEANU
ANDREI JUMUGA
LUCIAN JURATU
ALEXANDRU LAZEA
PATRICK LENIS
RAUL LUNCARIU
ALEXANDRU LUPULESCU
ALEXANDRU MANAFU
VLAD MARIUS
BOGDAN MIELU
SIRONA MIULESCU
DARIUS MOCAN
SEBASTIAN MONEA
AMALIA MURESAN
RADU NETIN
IOANA OBREJA
CRISTIAN OLCEAN
DARIUS OPRITESCU
DAVID PALINCAS
BIANCA PETRUT
ROSIAN POP
ANDRADA POPA
ALEXANDRU PREDUS
RAUL-MIHAI PRICOPE
CRISTIANA PUSCAS
FABIAN RADOMIR
DEIAN RADOSAV
CLAUDIU RAVEANU
TEODOR ROTARU
ALIN SALAGEAN
ALISON SCHMIRLER
DENISA SERAN
FINEAS SILAGHI
MARIAN SIMOIU
DIANA SIRGHIE
LIVIU SOPON
ALEXANDRU SOT
AHMAD SULAIBI
ANDRADA SURPETEANU
MIHAI TEMIAN
DARIUS TEPERDEL
RAUL TIPTIS
CATALIN TIU
PAUL EUGEN TODESCU
AMELIA TOMA
GABRIEL TOMA
MIHAI TOSUN
RALUCA TUDORASCU
ANDREI TUGMEANU
SIMONA TUNS
ADRIAN TURA
DRAGOS URSAN
IOANA VACARIU
LIVIU VISOVAN
DARIAN VODA
DRAGOS VREJIU
CRISTIAN ZAHARIA