Project structure:

|---controllers
|   |---youtubeController.js
|---css
|   |---style.css
|---dependencies
|   |---ngclipboard.min.js
|---img
|   |---img.jpg
|   |---glyphicons-224-chevron-right.png
|   |---glyphicons-225-chevron-left.png
|---services
|   |---ConstantsServices.js
|   |---filterServices.js
|   |---paramsServices.js
|---templates
|   |---navbar.html
|---app.js
|---index.html
|---README.txt

-------------------------------------------

Used dependencies, frameworks and environment

1- ngclipboard: {
    notes: 'I used it to make copy button works correctly.'
}

2- bootstrap: {
    version: '1.1.1',
    notes: 'you need to be connected to the internet, I'm using maxcdn to include it',
    source: 'https://sachinchoolur.github.io/ngclipboard/'
}

3- AngularJS: {
    version: '1.4.8',
    notes: 'you need to be connected to the internet'
}

4- CSS: {
    notes: 'I need to add my own style to some component.'
}

5- Environment: {
    Editor: 'WebStorm',
    OS: 'Ubuntu 14.04',
    Virsion Control: 'github'
    github url: 'https://github.com/AmrAdelKhalil/YouTube-API-with-Angular'
}

-------------------------------------------

Tasks

    1- Main:
        1.1- Implement the design of the webpage attached below, status: done
        1.2- Use JavaScript to integrate with YouTube official API to retrieve the list of videos from a
             specific YouTube channel, status: done
        1.3- Show the list of videos in the table. For each video, display
             a. Title, status: done
             b. Upload date, status: done
             c. Duration, status: done
             d. # of likes, status: done
             e. # of views, status: done
             f. Description, status: done
        1.4- If any video is selected, the right side column is populated with details of the video, status: done
        1.5- The right side column shows:
             a. Embedded YouTube player to playback the video, status: done
             b. Links for thumbnails of the videos (Medium quality, and High quality), and an
             option to download them, status: only copy

    2- Bouns:
        2.1- Add a text box on the top, to set the channel identifier and reload the table, status: done
        2.2- Implement paging in the videos table, status: done

-------------------------------------------

General notes:

In the download part i tried to send a GET request using the thumbnail url but it says that my local server
is not allowed to do this request because CORS, When i searched about it i found some links says that i can not
test downloading using local server and this issue is in Chrome itself.

some links taking about similar issues:

1- https://bugs.chromium.org/p/chromium/issues/detail?id=67743
2- http://stackoverflow.com/questions/16930473/angularjs-factory-http-get-json-file