From 771cc1e0d1b9ed1d0e2e113d51f373650bafcdce Mon Sep 17 00:00:00 2001 From: Rawisara Saman Date: Wed, 23 Feb 2022 23:52:37 +0700 Subject: [PATCH 01/13] initial commit --- code/index.html | 10 +++++++--- code/script.js | 47 +++++++++++++++++++++++++++++++++++++++++++++++ code/style.css | 18 ++++++++++++++++++ 3 files changed, 72 insertions(+), 3 deletions(-) diff --git a/code/index.html b/code/index.html index 2fb5e0ae..bca53938 100644 --- a/code/index.html +++ b/code/index.html @@ -8,9 +8,13 @@ -

GitHub Tracker

-

Projects:

-
+
+

GitHub Tracker

+
+ +
+

+
diff --git a/code/script.js b/code/script.js index e69de29b..8c45d36a 100644 --- a/code/script.js +++ b/code/script.js @@ -0,0 +1,47 @@ +// Endpoint to get all your repos +// https://api.github.com/users/${username}/repos + +// Endpoint to get all PRs from a Technigo repo https://api.github.com/repos/Technigo/${reponame}/pulls + +// To get the comments from a PR, you need to get the URL from the review_comments_url property in the PR json object. It might look something like this: https://api.github.com/repos/Technigo/project-news-site/pulls/247/comments +// and then do a fetch with that url. + +// To get the commits from a PR, you need to get the URL from the commits_url property in the PR json object. It might look something like this: +// https://api.github.com/repos/Technigo/project-news-site/pulls/227/commits +// and then do a fetch with that url. + +//<-------- START HERE -------> +// const projects = document.getElementById('projects') +const projectName = document.getElementById('projectName') + +const GET_REPOS = ('https://api.github.com/users/rawisou/repos') + + fetch(GET_REPOS) + .then((res) => res.json()) + .then((data) => { + technigoProjects = data.filter( + (project) => project.fork && project.full_name.includes("project-") + ) + technigoProjects.forEach((item) => { + projectName.innerHTML += `

${item.full_name.replace('rawisou/', '')}

+ ` + console.log(item.full_name) + }) + } + ) + + + + + // Another way of doing it + // for (let n = 0; n < technigoProjects.length; n++) { + // numProjects.innerHTML = `

${technigoProjects[n].full_name}

` + // } + + + // console.log(technigoProjects) + // technigoProjects.forEach((item) => { + // numProjects.innerHTML = `

${item.full_name.replace('rawisou/', '')}

+ // ` + // console.log(item.full_name) + // }) \ No newline at end of file diff --git a/code/style.css b/code/style.css index 7c8ad447..f0f531e7 100644 --- a/code/style.css +++ b/code/style.css @@ -1,3 +1,21 @@ + +* { + margin: 0; + border: 0; + padding: 0; +} body { background: #FFECE9; +} + +header { + display: flex; + background-color: white; + height: 150px; + justify-content: center; + align-items: center; +} + +h2 { + margin: 10px; } \ No newline at end of file From a8ace4aff7bf24e755ea44547ad1603f55e67cf8 Mon Sep 17 00:00:00 2001 From: Rawisara Saman Date: Thu, 24 Feb 2022 23:35:46 +0700 Subject: [PATCH 02/13] getting each project to display with required details excluding number of commits --- .DS_Store | Bin 0 -> 6148 bytes code/chart.js | 12 ++++++ code/index.html | 5 ++- code/script.js | 101 ++++++++++++++++++++++++++++-------------------- code/style.css | 41 +++++++++++++++++++- 5 files changed, 114 insertions(+), 45 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..508eb2852b080cda998684389eecdf97095488e0 GIT binary patch literal 6148 zcmeHKO^?$s5FNLLO|(Ml0i+%yaji-#x~*1R($GC{;L;#C04hyWEzzd&svp}!RVioq zFyA`_&*Aa}_U&To>oCvA<6vI->y%={2xLb4qV8^9^3VGlQmxFdz&F1NVpl zcQ$&*_voADQ-uLx;BFY;^C5sTh7L=M=IB6SQUD-7BaNVLp8mjq4ZzT0X%QBPvY|j5 zs$7bpT;`x`IQm29Us|-`q|D41$IYxL9!6M_yIXH9j_=w4`U%Ryex=1j2rA|(hA&^m4X6>=1Fir=howbW QAo36}G)N%~+$jUU0L{8#WdHyG literal 0 HcmV?d00001 diff --git a/code/chart.js b/code/chart.js index 92e85a30..6fbbd352 100644 --- a/code/chart.js +++ b/code/chart.js @@ -2,3 +2,15 @@ const ctx = document.getElementById('chart').getContext('2d') //"Draw" the chart here 👇 + +// const config = { +// type: 'line', +// data: {}, +// options: {}, +// plugins: [] +// } + +// const myChart = new Chart( +// document.getElementById('myChart'), +// config +// ); \ No newline at end of file diff --git a/code/index.html b/code/index.html index bca53938..a702b4c4 100644 --- a/code/index.html +++ b/code/index.html @@ -9,11 +9,12 @@
-

GitHub Tracker

+
+ Github Profile Image
-

+
diff --git a/code/script.js b/code/script.js index 8c45d36a..c5789193 100644 --- a/code/script.js +++ b/code/script.js @@ -1,47 +1,66 @@ -// Endpoint to get all your repos -// https://api.github.com/users/${username}/repos +const projectCard = document.getElementById('projectCard') +const profile = document.getElementById('profile') +const profileImage = document.getElementById('profileImage') -// Endpoint to get all PRs from a Technigo repo https://api.github.com/repos/Technigo/${reponame}/pulls +const githubProfile = () => + fetch('https://api.github.com/users/rawisou') + .then((res) => res.json()) + .then((data) => { + profile.innerHTML = ` +

GitHub Tracker

+

${data.name}

+

Github: ${data.html_url}

+ ` + profileImage.src = data.avatar_url + }) + .catch((err) => console.log(err)) + githubProfile() -// To get the comments from a PR, you need to get the URL from the review_comments_url property in the PR json object. It might look something like this: https://api.github.com/repos/Technigo/project-news-site/pulls/247/comments -// and then do a fetch with that url. - -// To get the commits from a PR, you need to get the URL from the commits_url property in the PR json object. It might look something like this: -// https://api.github.com/repos/Technigo/project-news-site/pulls/227/commits -// and then do a fetch with that url. - -//<-------- START HERE -------> -// const projects = document.getElementById('projects') -const projectName = document.getElementById('projectName') - -const GET_REPOS = ('https://api.github.com/users/rawisou/repos') - - fetch(GET_REPOS) - .then((res) => res.json()) - .then((data) => { - technigoProjects = data.filter( - (project) => project.fork && project.full_name.includes("project-") +const projects = () => + fetch('https://api.github.com/users/rawisou/repos') + .then((res) => res.json()) + .then((data) => { + const technigoRepos = data.filter( + (repos) => repos.fork && repos.full_name.includes('project-') ) - technigoProjects.forEach((item) => { - projectName.innerHTML += `

${item.full_name.replace('rawisou/', '')}

- ` - console.log(item.full_name) - }) - } - ) - - - + getPullRequests(technigoRepos) + }) + .catch((err) => console.log(err)) + projects() - // Another way of doing it - // for (let n = 0; n < technigoProjects.length; n++) { - // numProjects.innerHTML = `

${technigoProjects[n].full_name}

` - // } +const getPullRequests = (repos) => { + repos.forEach(repo => { + fetch(`https://api.github.com/repos/Technigo/${repo.name}/pulls?per_page=100`) + .then((res) => res.json()) + .then((pull) => { + console.log(pull) + const myPullRequests = pull.find( + (pull) => pull.user.login === repo.owner.login + ) + if(myPullRequests != undefined) {projectCard.innerHTML += ` +
+

${repo.full_name.replace('rawisou/', '')}

+ ${repo.html_url} +

Default branch: ${repo.default_branch}

+

Pushed at: ${new Date(repo.pushed_at).toDateString()}

+

Number of commits:

+

Pull Request: ${myPullRequests.html_url}

+
+ ` } else { + projectCard.innerHTML += ` +
+

${repo.full_name.replace('rawisou/', '')}

+ ${repo.html_url} +

Default branch: ${repo.default_branch}

+

Pushed at: ${new Date(repo.pushed_at).toDateString()}

+

Number of commits:

+

Pull Request: https://github.com/Technigo/project-weather-app/pull/215

+
+ ` + } + }) + }) + } - // console.log(technigoProjects) - // technigoProjects.forEach((item) => { - // numProjects.innerHTML = `

${item.full_name.replace('rawisou/', '')}

- // ` - // console.log(item.full_name) - // }) \ No newline at end of file + // For next projects that I'm not the one doing the pull request, else if(s) need to be added or find a better way. diff --git a/code/style.css b/code/style.css index f0f531e7..a78f33f8 100644 --- a/code/style.css +++ b/code/style.css @@ -10,12 +10,49 @@ body { header { display: flex; + flex-direction: column; background-color: white; - height: 150px; justify-content: center; align-items: center; } - +h1 { + padding: 20px; +} h2 { margin: 10px; +} + +.bolded { + font-weight: 600; +} +.profile { + text-align: center; +} + +.profile-image { + height: 150px; + width: 150px; + border-radius: 50%; + padding: 30px; +} + +.card { + border: 1px solid black; + padding: 20px; + margin: 20px; +} + +@media (min-width: 668px) { + .project-card { + display: grid; + grid-template-columns: 1fr 1fr; + } + +} + + +@media (min-width: 1000px) { + .project-card { + grid-template-columns: 1fr 1fr 1fr; + } } \ No newline at end of file From 9543d4cfb713a6c0a847dbe631dc2252d79027ae Mon Sep 17 00:00:00 2001 From: Rawisara Saman Date: Fri, 25 Feb 2022 15:46:38 +0700 Subject: [PATCH 03/13] second commit --- code/chart.js | 34 +++++++++++-------- code/index.html | 3 +- code/script.js | 88 ++++++++++++++++++++++++++++--------------------- code/style.css | 8 +++++ 4 files changed, 81 insertions(+), 52 deletions(-) diff --git a/code/chart.js b/code/chart.js index 6fbbd352..1ab53ef3 100644 --- a/code/chart.js +++ b/code/chart.js @@ -1,16 +1,24 @@ //DOM-selector for the canvas 👇 -const ctx = document.getElementById('chart').getContext('2d') +const ctx = document.getElementById('myChart').getContext('2d') //"Draw" the chart here 👇 - -// const config = { -// type: 'line', -// data: {}, -// options: {}, -// plugins: [] -// } - -// const myChart = new Chart( -// document.getElementById('myChart'), -// config -// ); \ No newline at end of file +const drawChart = (amount) => +{ + const config = { + type: "bar", + data: { + labels: ["Completed projects", "Remaining projects"], + datasets: [ + { + label: "projects", + data: [amount, 21-amount], + backgroundColor: [ + "#a4b2b0", + "#8ab2b4", + ], + }, + ], + }, + } + const myChart = new Chart(ctx, config) +} \ No newline at end of file diff --git a/code/index.html b/code/index.html index a702b4c4..a5d9d52c 100644 --- a/code/index.html +++ b/code/index.html @@ -6,6 +6,7 @@ Project GitHub Tracker +
@@ -18,7 +19,7 @@ - + diff --git a/code/script.js b/code/script.js index c5789193..e0002383 100644 --- a/code/script.js +++ b/code/script.js @@ -2,7 +2,7 @@ const projectCard = document.getElementById('projectCard') const profile = document.getElementById('profile') const profileImage = document.getElementById('profileImage') -const githubProfile = () => +// Github Profile fetch('https://api.github.com/users/rawisou') .then((res) => res.json()) .then((data) => { @@ -14,9 +14,9 @@ const githubProfile = () => profileImage.src = data.avatar_url }) .catch((err) => console.log(err)) - githubProfile() -const projects = () => + + fetch('https://api.github.com/users/rawisou/repos') .then((res) => res.json()) .then((data) => { @@ -24,43 +24,55 @@ const projects = () => (repos) => repos.fork && repos.full_name.includes('project-') ) getPullRequests(technigoRepos) + drawChart(technigoRepos.length) }) .catch((err) => console.log(err)) - projects() + + -const getPullRequests = (repos) => { - repos.forEach(repo => { - fetch(`https://api.github.com/repos/Technigo/${repo.name}/pulls?per_page=100`) - .then((res) => res.json()) - .then((pull) => { - console.log(pull) - const myPullRequests = pull.find( - (pull) => pull.user.login === repo.owner.login - ) - if(myPullRequests != undefined) {projectCard.innerHTML += ` -
-

${repo.full_name.replace('rawisou/', '')}

- ${repo.html_url} -

Default branch: ${repo.default_branch}

-

Pushed at: ${new Date(repo.pushed_at).toDateString()}

-

Number of commits:

-

Pull Request: ${myPullRequests.html_url}

-
- ` } else { - projectCard.innerHTML += ` -
-

${repo.full_name.replace('rawisou/', '')}

- ${repo.html_url} -

Default branch: ${repo.default_branch}

-

Pushed at: ${new Date(repo.pushed_at).toDateString()}

-

Number of commits:

-

Pull Request: https://github.com/Technigo/project-weather-app/pull/215

-
- ` - } - }) - }) - } + const getPullRequests = (repos) => { + repos.forEach(repo => { + fetch(`https://api.github.com/repos/Technigo/${repo.name}/pulls?per_page=100`) + .then((res) => res.json()) + .then((pull) => { + console.log(pull) + const myPullRequests = pull.find( + (pull) => pull.user.login === repo.owner.login + ) + if(myPullRequests != undefined) {projectCard.innerHTML += ` +
+

${repo.name}

+ ${repo.html_url} +

Default branch: ${repo.default_branch}

+

Pushed at: ${new Date(repo.pushed_at).toDateString()}

+

Number of commits:

+

Pull Request: ${myPullRequests.html_url}

+
+ ` } else if (repo.name === 'project-weather-app') { + projectCard.innerHTML += ` +
+

${repo.name}

+ ${repo.html_url} +

Default branch: ${repo.default_branch}

+

Pushed at: ${new Date(repo.pushed_at).toDateString()}

+

Number of commits:

+

Pull Request: https://github.com/Technigo/project-weather-app/pull/215

+
+ ` + } else { + projectCard.innerHTML += ` +
+

${repo.name}

+ ${repo.html_url} +

Default branch: ${repo.default_branch}

+

Pushed at: ${new Date(repo.pushed_at).toDateString()}

+

Number of commits:

+

Pull Request: No pull request

+
+ ` + } + }) + }) + } - // For next projects that I'm not the one doing the pull request, else if(s) need to be added or find a better way. diff --git a/code/style.css b/code/style.css index a78f33f8..bf7486a6 100644 --- a/code/style.css +++ b/code/style.css @@ -22,6 +22,10 @@ h2 { margin: 10px; } +h3 { + text-transform: uppercase; +} + .bolded { font-weight: 600; } @@ -55,4 +59,8 @@ h2 { .project-card { grid-template-columns: 1fr 1fr 1fr; } + + .chart { + width: 60%; + } } \ No newline at end of file From 2e72b63d679bfaaa099294d59e41be4f04e3dd21 Mon Sep 17 00:00:00 2001 From: Rawisara Saman Date: Fri, 25 Feb 2022 19:57:41 +0700 Subject: [PATCH 04/13] third commit: adding getCommits()to display num of commits --- code/script.js | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/code/script.js b/code/script.js index e0002383..4e9dd5e2 100644 --- a/code/script.js +++ b/code/script.js @@ -15,8 +15,6 @@ const profileImage = document.getElementById('profileImage') }) .catch((err) => console.log(err)) - - fetch('https://api.github.com/users/rawisou/repos') .then((res) => res.json()) .then((data) => { @@ -28,25 +26,24 @@ const profileImage = document.getElementById('profileImage') }) .catch((err) => console.log(err)) - - +let myCommits const getPullRequests = (repos) => { repos.forEach(repo => { fetch(`https://api.github.com/repos/Technigo/${repo.name}/pulls?per_page=100`) .then((res) => res.json()) .then((pull) => { - console.log(pull) const myPullRequests = pull.find( (pull) => pull.user.login === repo.owner.login ) + myCommits = getCommits(`https://api.github.com/repos/rawisou/${repo.name}/commits?per_page=100`) if(myPullRequests != undefined) {projectCard.innerHTML += `

${repo.name}

${repo.html_url}

Default branch: ${repo.default_branch}

Pushed at: ${new Date(repo.pushed_at).toDateString()}

-

Number of commits:

+

Number of commits:${myCommits}

Pull Request: ${myPullRequests.html_url}

` } else if (repo.name === 'project-weather-app') { @@ -56,7 +53,7 @@ const profileImage = document.getElementById('profileImage') ${repo.html_url}

Default branch: ${repo.default_branch}

Pushed at: ${new Date(repo.pushed_at).toDateString()}

-

Number of commits:

+

Number of commits:${myCommits}

Pull Request: https://github.com/Technigo/project-weather-app/pull/215

` @@ -67,7 +64,7 @@ const profileImage = document.getElementById('profileImage') ${repo.html_url}

Default branch: ${repo.default_branch}

Pushed at: ${new Date(repo.pushed_at).toDateString()}

-

Number of commits:

+

Number of commits:${myCommits}

Pull Request: No pull request

` @@ -76,3 +73,12 @@ const profileImage = document.getElementById('profileImage') }) } + + const getCommits = async (endpoint) => { + const res = await fetch(endpoint) + myCommits = await res.json() + + myCommits = myCommits.length + + console.log(myCommits) + } From f71de3dbf9acab1dcc52556d0078c9f04cad552d Mon Sep 17 00:00:00 2001 From: Rawisara Saman Date: Fri, 25 Feb 2022 21:59:47 +0700 Subject: [PATCH 05/13] changed async to a normal function --- code/script.js | 41 ++++++++++++++++++++++++++--------------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/code/script.js b/code/script.js index 4e9dd5e2..fdffb3ba 100644 --- a/code/script.js +++ b/code/script.js @@ -26,8 +26,7 @@ const profileImage = document.getElementById('profileImage') }) .catch((err) => console.log(err)) - -let myCommits + const getPullRequests = (repos) => { repos.forEach(repo => { fetch(`https://api.github.com/repos/Technigo/${repo.name}/pulls?per_page=100`) @@ -36,14 +35,15 @@ let myCommits const myPullRequests = pull.find( (pull) => pull.user.login === repo.owner.login ) - myCommits = getCommits(`https://api.github.com/repos/rawisou/${repo.name}/commits?per_page=100`) - if(myPullRequests != undefined) {projectCard.innerHTML += ` + let num = getCommits(`https://api.github.com/repos/rawisou/${repo.name}/commits?per_page=100`) + + if(myPullRequests != undefined) {projectCard.innerHTML += `

${repo.name}

${repo.html_url}

Default branch: ${repo.default_branch}

Pushed at: ${new Date(repo.pushed_at).toDateString()}

-

Number of commits:${myCommits}

+

Number of commits:${num}

Pull Request: ${myPullRequests.html_url}

` } else if (repo.name === 'project-weather-app') { @@ -53,7 +53,7 @@ let myCommits ${repo.html_url}

Default branch: ${repo.default_branch}

Pushed at: ${new Date(repo.pushed_at).toDateString()}

-

Number of commits:${myCommits}

+

Number of commits:${num}

Pull Request: https://github.com/Technigo/project-weather-app/pull/215

` @@ -64,7 +64,7 @@ let myCommits ${repo.html_url}

Default branch: ${repo.default_branch}

Pushed at: ${new Date(repo.pushed_at).toDateString()}

-

Number of commits:${myCommits}

+

Number of commits:${num}

Pull Request: No pull request

` @@ -74,11 +74,22 @@ let myCommits } - const getCommits = async (endpoint) => { - const res = await fetch(endpoint) - myCommits = await res.json() - - myCommits = myCommits.length - - console.log(myCommits) - } +const getCommits = (endpoint) => { + fetch(endpoint) + .then((res) => res.json()) + .then((myCommits) => { + myCommits.length + console.log(myCommits) + }) +} + +// ------Async/await which returns [object Promise] ----- + // const getCommits = async (endpoint) => { + // const res = await fetch(endpoint) + // let myCommits = await res.json() + // myCommits = myCommits.length + // console.log(myCommits) + // } + + + \ No newline at end of file From e4c1abae5d532d7e9e892b0355812df56b36167f Mon Sep 17 00:00:00 2001 From: Rawisara Saman Date: Sat, 26 Feb 2022 10:57:23 +0700 Subject: [PATCH 06/13] added num of commits --- code/script.js | 60 ++++++++++++++++++++------------------------------ 1 file changed, 24 insertions(+), 36 deletions(-) diff --git a/code/script.js b/code/script.js index fdffb3ba..9e80057c 100644 --- a/code/script.js +++ b/code/script.js @@ -12,9 +12,10 @@ const profileImage = document.getElementById('profileImage')

Github: ${data.html_url}

` profileImage.src = data.avatar_url - }) + }) .catch((err) => console.log(err)) + // Repos forked from Technigo fetch('https://api.github.com/users/rawisou/repos') .then((res) => res.json()) .then((data) => { @@ -35,25 +36,30 @@ const profileImage = document.getElementById('profileImage') const myPullRequests = pull.find( (pull) => pull.user.login === repo.owner.login ) - let num = getCommits(`https://api.github.com/repos/rawisou/${repo.name}/commits?per_page=100`) - - if(myPullRequests != undefined) {projectCard.innerHTML += ` -
-

${repo.name}

- ${repo.html_url} -

Default branch: ${repo.default_branch}

-

Pushed at: ${new Date(repo.pushed_at).toDateString()}

-

Number of commits:${num}

-

Pull Request: ${myPullRequests.html_url}

-
- ` } else if (repo.name === 'project-weather-app') { + + fetch(`https://api.github.com/repos/rawisou/${repo.name}/commits?per_page=100`) + .then((res) => res.json()) + .then((myCommits) => { + let num = myCommits.length + + if (myPullRequests != undefined) {projectCard.innerHTML += ` +
+

${repo.name}

+ ${repo.html_url} +

Default branch: ${repo.default_branch}

+

Pushed at: ${new Date(repo.pushed_at).toDateString()}

+

Number of commits: ${num}

+

Pull Request: ${myPullRequests.html_url}

+
+ ` + } else if (repo.name === 'project-weather-app') { projectCard.innerHTML += `

${repo.name}

${repo.html_url}

Default branch: ${repo.default_branch}

Pushed at: ${new Date(repo.pushed_at).toDateString()}

-

Number of commits:${num}

+

Number of commits: ${num}

Pull Request: https://github.com/Technigo/project-weather-app/pull/215

` @@ -64,32 +70,14 @@ const profileImage = document.getElementById('profileImage') ${repo.html_url}

Default branch: ${repo.default_branch}

Pushed at: ${new Date(repo.pushed_at).toDateString()}

-

Number of commits:${num}

+

Number of commits: ${num}

Pull Request: No pull request

` - } - }) + } + }) + }) }) } - -const getCommits = (endpoint) => { - fetch(endpoint) - .then((res) => res.json()) - .then((myCommits) => { - myCommits.length - console.log(myCommits) - }) -} - -// ------Async/await which returns [object Promise] ----- - // const getCommits = async (endpoint) => { - // const res = await fetch(endpoint) - // let myCommits = await res.json() - // myCommits = myCommits.length - // console.log(myCommits) - // } - - \ No newline at end of file From 38f68e525e29a203ed5832c927703fb3d7f3c8c1 Mon Sep 17 00:00:00 2001 From: Rawisara Saman Date: Sat, 26 Feb 2022 18:05:20 +0700 Subject: [PATCH 07/13] added design --- .DS_Store | Bin 6148 -> 6148 bytes code/.DS_Store | Bin 0 -> 6148 bytes code/chart.js | 21 +++++++++++++++--- code/github.png | Bin 0 -> 16815 bytes code/index.html | 26 ++++++++++++---------- code/script.js | 18 +++++++-------- code/style.css | 57 ++++++++++++++++++++++++++++++++++++++---------- 7 files changed, 87 insertions(+), 35 deletions(-) create mode 100644 code/.DS_Store create mode 100644 code/github.png diff --git a/.DS_Store b/.DS_Store index 508eb2852b080cda998684389eecdf97095488e0..60f34e018400afe21f66190cb8d7521260cd4981 100644 GIT binary patch delta 20 bcmZoMXffDufQjA6Qb)ni)Oho8CR|b6kbB^hYaY0YtgRuu3VU7iJ3v7{d$5(j7T=)EwBX7(*Z*dmPn&A#l zWE5mSploySN=|d0Au6tH&AC?lS0<->7#lpJ&|6o)6>tT13h4JCp(|z)Ys2vAU=xl2#6H8p*ws|80_AxdN`h zpHe{jlk3Ttj}&Wb=i#*0CiEM+n&#DpI|@6Y6f;*#@d-T` I1%6b451x=wM*si- literal 0 HcmV?d00001 diff --git a/code/chart.js b/code/chart.js index 1ab53ef3..f410980e 100644 --- a/code/chart.js +++ b/code/chart.js @@ -10,15 +10,30 @@ const drawChart = (amount) => labels: ["Completed projects", "Remaining projects"], datasets: [ { - label: "projects", + label: "Technigo projects", data: [amount, 21-amount], backgroundColor: [ - "#a4b2b0", - "#8ab2b4", + "#c8cccf", + "#778088", ], + barThickness: "30", }, ], }, + options: { + scales: { + x: { + grid: { + display: false, + } + }, + y: { + grid: { + display: false + } + }, + } + } } const myChart = new Chart(ctx, config) } \ No newline at end of file diff --git a/code/github.png b/code/github.png new file mode 100644 index 0000000000000000000000000000000000000000..a612fdb23da7aaa7c22310372b3ed8910bbe3b46 GIT binary patch literal 16815 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 I+kOA}Ki_zt4gdfE literal 0 HcmV?d00001 diff --git a/code/index.html b/code/index.html index a5d9d52c..41e8e29c 100644 --- a/code/index.html +++ b/code/index.html @@ -6,22 +6,26 @@ Project GitHub Tracker + + + -
-
- Github Profile Image -
+
+
+
-
-
-
+
+
+
- - + +
+ +
- - + + \ No newline at end of file diff --git a/code/script.js b/code/script.js index 9e80057c..3f4cf96c 100644 --- a/code/script.js +++ b/code/script.js @@ -9,9 +9,9 @@ const profileImage = document.getElementById('profileImage') profile.innerHTML = `

GitHub Tracker

${data.name}

-

Github: ${data.html_url}

+ Github Profile Image +

${data.html_url}

` - profileImage.src = data.avatar_url }) .catch((err) => console.log(err)) @@ -44,30 +44,28 @@ const profileImage = document.getElementById('profileImage') if (myPullRequests != undefined) {projectCard.innerHTML += `
-

${repo.name}

- ${repo.html_url} + +

${repo.full_name.replace('rawisou/project-', '').replace('-', ' ')}

Default branch: ${repo.default_branch}

Pushed at: ${new Date(repo.pushed_at).toDateString()}

Number of commits: ${num}

-

Pull Request: ${myPullRequests.html_url}

+

Pull Request: here

` } else if (repo.name === 'project-weather-app') { projectCard.innerHTML += `
-

${repo.name}

- ${repo.html_url} +

${repo.full_name.replace('rawisou/project-', '').replace('-', ' ')}

Default branch: ${repo.default_branch}

Pushed at: ${new Date(repo.pushed_at).toDateString()}

Number of commits: ${num}

-

Pull Request: https://github.com/Technigo/project-weather-app/pull/215

+

Pull Request: here

` } else { projectCard.innerHTML += `
-

${repo.name}

- ${repo.html_url} +

${repo.full_name.replace('rawisou/project-', '').replace('-',' ')}

Default branch: ${repo.default_branch}

Pushed at: ${new Date(repo.pushed_at).toDateString()}

Number of commits: ${num}

diff --git a/code/style.css b/code/style.css index bf7486a6..dabb2f0f 100644 --- a/code/style.css +++ b/code/style.css @@ -1,19 +1,20 @@ - * { margin: 0; border: 0; padding: 0; + font-family: 'Montserrat', sans-serif; } body { - background: #FFECE9; -} - -header { display: flex; flex-direction: column; - background-color: white; justify-content: center; align-items: center; + background-color: #fff; +} +.ghlogo { + width: 30px; + height: 30px; + margin-right: 5px; } h1 { padding: 20px; @@ -24,6 +25,32 @@ h2 { h3 { text-transform: uppercase; + width: 100%; + text-align: center; + border-bottom: 1px solid #000; + line-height: 0.1em; + margin: 10px 0 20px; + font-size: 20px; +} + + +h3 span { + background:#fff; + padding:0 10px; +} + +a { + text-decoration: none; + font-weight: 600; + color: black; +} + +a:hover { + font-size: 20px; +} +h3 a:hover { + font-size: 22px; + box-shadow: 5px 5px #7a7a7c; } .bolded { @@ -41,26 +68,34 @@ h3 { } .card { - border: 1px solid black; + border: 1.5px solid rgb(27, 27, 27); + box-shadow: 10px 10px #4d4c4e; padding: 20px; margin: 20px; } +.chart-wrapper { + display: flex; + margin: auto; + padding: 20px; +} + @media (min-width: 668px) { .project-card { display: grid; grid-template-columns: 1fr 1fr; } - + .chart-wrapper { + width: 50%; } +} @media (min-width: 1000px) { .project-card { grid-template-columns: 1fr 1fr 1fr; } - - .chart { - width: 60%; + .chart-wrapper { + width: 30%; } } \ No newline at end of file From 1d1c381018da7df1513469d7e6496647bcdf34cc Mon Sep 17 00:00:00 2001 From: Rawisara Saman Date: Sat, 26 Feb 2022 18:47:47 +0700 Subject: [PATCH 08/13] updated README --- README.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 1613a3b0..cdc99c54 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,17 @@ # GitHub Tracker -Replace this readme with your own information about your project. +Users should be able to : +1. view the site in every screen size +2. see the information pulled from Github Res API +3. See the data visuallization through the bar chart -Start by briefly describing the assignment in a sentence or two. Keep it short and to the point. +This project is built with: +1. JavaScript +2. Semantic html +3. CSS -## The problem -Describe how you approached to problem, and what tools and techniques you used to solve it. How did you plan? What technologies did you use? If you had more time, what would be next? ## View it live -Every project should be deployed somewhere. Be sure to include the link to the deployed project so that the viewer can click around and see what it's all about. +https://rawi-github-tracker.netlify.app/ \ No newline at end of file From 978671f4792ad22080b6d110ff327c14c6078051 Mon Sep 17 00:00:00 2001 From: Rawisara Saman Date: Sun, 27 Feb 2022 19:37:36 +0700 Subject: [PATCH 09/13] made the site more accessible --- code/.DS_Store | Bin 6148 -> 6148 bytes code/index.html | 2 ++ code/pointing-right.png | Bin 0 -> 4386 bytes code/script.js | 6 +++--- code/style.css | 7 ++++++- 5 files changed, 11 insertions(+), 4 deletions(-) create mode 100644 code/pointing-right.png diff --git a/code/.DS_Store b/code/.DS_Store index 831d438cd52ef720e9d38e9d65c3078ab8a0de4a..2ca23055d24c5abf64be2b413b8444bacaf0ef6d 100644 GIT binary patch delta 94 zcmZoMXfc@J&&akhU^gQp+hiW5*^WXC1q}HNnGAUhC15h0L6@Nj$Vz9(0E*}VW%C%) kJ#+GtlXCKt7#J7?7#Ns~fpp=2DA>G&NuG5xJI7ys0Dc=BC;$Ke delta 31 ncmZoMXfc@J&&awlU^gQp>tr6L*_&T8$*@jraM{ex@s}R}ph5~U diff --git a/code/index.html b/code/index.html index 41e8e29c..a8635f6d 100644 --- a/code/index.html +++ b/code/index.html @@ -27,5 +27,7 @@ + + \ No newline at end of file diff --git a/code/pointing-right.png b/code/pointing-right.png new file mode 100644 index 0000000000000000000000000000000000000000..588c1fe9347d384bb5a861adffd928591dcd75c0 GIT binary patch literal 4386 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 Wa%c2fV@LbHZ4LBHbl+chiuez?zPhFW literal 0 HcmV?d00001 diff --git a/code/script.js b/code/script.js index 3f4cf96c..78a22db9 100644 --- a/code/script.js +++ b/code/script.js @@ -10,7 +10,7 @@ const profileImage = document.getElementById('profileImage')

GitHub Tracker

${data.name}

Github Profile Image -

${data.html_url}

+

Github account: ${data.login}

` }) .catch((err) => console.log(err)) @@ -49,7 +49,7 @@ const profileImage = document.getElementById('profileImage')

Default branch: ${repo.default_branch}

Pushed at: ${new Date(repo.pushed_at).toDateString()}

Number of commits: ${num}

-

Pull Request: here

+

View the pull request

` } else if (repo.name === 'project-weather-app') { @@ -59,7 +59,7 @@ const profileImage = document.getElementById('profileImage')

Default branch: ${repo.default_branch}

Pushed at: ${new Date(repo.pushed_at).toDateString()}

Number of commits: ${num}

-

Pull Request: here

+

View the pull request

` } else { diff --git a/code/style.css b/code/style.css index dabb2f0f..74d863b2 100644 --- a/code/style.css +++ b/code/style.css @@ -46,9 +46,10 @@ a { } a:hover { - font-size: 20px; + color: #7a7a7c; } h3 a:hover { + color: #000; font-size: 22px; box-shadow: 5px 5px #7a7a7c; } @@ -80,6 +81,10 @@ h3 a:hover { padding: 20px; } +.pointing-right { + width: 20px; +} + @media (min-width: 668px) { .project-card { display: grid; From 767346a54ef48c8a1028b47ffed4636b24942cbe Mon Sep 17 00:00:00 2001 From: Rawisara Saman Date: Sun, 27 Feb 2022 23:38:43 +0700 Subject: [PATCH 10/13] resized footer --- code/index.html | 2 +- code/style.css | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/code/index.html b/code/index.html index a8635f6d..5c55b32d 100644 --- a/code/index.html +++ b/code/index.html @@ -28,6 +28,6 @@ - + \ No newline at end of file diff --git a/code/style.css b/code/style.css index 74d863b2..d97dfb03 100644 --- a/code/style.css +++ b/code/style.css @@ -85,6 +85,10 @@ h3 a:hover { width: 20px; } +footer { + font-size: 12px; +} + @media (min-width: 668px) { .project-card { display: grid; From ec945a394f8573f79af599a0869839ee13fd0fe5 Mon Sep 17 00:00:00 2001 From: Rawisara Saman Date: Mon, 21 Mar 2022 15:24:17 +0100 Subject: [PATCH 11/13] [edited] autoformat code, removed unused variables and moved some variables into their scope. --- .DS_Store | Bin 6148 -> 6148 bytes code/script.js | 98 ++++++++++++++++++++++++++----------------------- 2 files changed, 52 insertions(+), 46 deletions(-) diff --git a/.DS_Store b/.DS_Store index 60f34e018400afe21f66190cb8d7521260cd4981..da23c180996a359d8bbccb694319ac71de899b40 100644 GIT binary patch delta 93 zcmZoMXffE}&BVBEvJX?Ct5|ilnW>I~scEf_LbZi~iH?GqrAciqCx@uAzI9N1c1~_y deg^{>Ffu}D23{x)qdGUUFf+4mX65+L4*&qL5#Im+ delta 95 zcmZoMXffE}&BVB4vJX?CyF_)hk)@7;p{a4LjzYDevAL;^f|;dBZ7nB res.json()) - .then((data) => { +// Github profile +fetch('https://api.github.com/users/rawisou') + .then((res) => res.json()) + .then((data) => { + const profile = document.getElementById('profile') profile.innerHTML = `

GitHub Tracker

${data.name}

Github Profile Image

Github account: ${data.login}

` - }) + }) .catch((err) => console.log(err)) - // Repos forked from Technigo - fetch('https://api.github.com/users/rawisou/repos') - .then((res) => res.json()) - .then((data) => { - const technigoRepos = data.filter( - (repos) => repos.fork && repos.full_name.includes('project-') - ) - getPullRequests(technigoRepos) - drawChart(technigoRepos.length) - }) - .catch((err) => console.log(err)) +// Repos forked from Technigo +fetch('https://api.github.com/users/rawisou/repos') + .then((res) => res.json()) + .then((data) => { + const technigoRepos = data.filter( + (repos) => repos.fork && repos.full_name.includes('project-') + ) + getPullRequests(technigoRepos) + drawChart(technigoRepos.length) + }) + .catch((err) => console.log(err)) +const getPullRequests = (repos) => { + const projectCard = document.getElementById('projectCard') + repos.forEach(repo => { + fetch(`https://api.github.com/repos/Technigo/${repo.name}/pulls?per_page=100`) + .then((res) => res.json()) + .then((pull) => { + const myPullRequests = pull.find( + (pull) => pull.user.login === repo.owner.login + ) - const getPullRequests = (repos) => { - repos.forEach(repo => { - fetch(`https://api.github.com/repos/Technigo/${repo.name}/pulls?per_page=100`) - .then((res) => res.json()) - .then((pull) => { - const myPullRequests = pull.find( - (pull) => pull.user.login === repo.owner.login - ) + fetch(`https://api.github.com/repos/rawisou/${repo.name}/commits?per_page=100`) + .then((res) => res.json()) + .then((myCommits) => { + let num = myCommits.length - fetch(`https://api.github.com/repos/rawisou/${repo.name}/commits?per_page=100`) - .then((res) => res.json()) - .then((myCommits) => { - let num = myCommits.length - - if (myPullRequests != undefined) {projectCard.innerHTML += ` + if (myPullRequests != undefined) { + projectCard.innerHTML += `

${repo.full_name.replace('rawisou/project-', '').replace('-', ' ')}

@@ -51,9 +49,9 @@ const profileImage = document.getElementById('profileImage')

Number of commits: ${num}

View the pull request

- ` - } else if (repo.name === 'project-weather-app') { - projectCard.innerHTML += ` + ` + } else if (repo.name === 'project-weather-app') { + projectCard.innerHTML += `

${repo.full_name.replace('rawisou/project-', '').replace('-', ' ')}

Default branch: ${repo.default_branch}

@@ -62,20 +60,28 @@ const profileImage = document.getElementById('profileImage')

View the pull request

` - } else { - projectCard.innerHTML += ` + } else if (repo.name === 'project-music-releases') { + projectCard.innerHTML += `
-

${repo.full_name.replace('rawisou/project-', '').replace('-',' ')}

+

${repo.full_name.replace('rawisou/project-', '').replace('-', ' ')}

+

Default branch: ${repo.default_branch}

+

Pushed at: ${new Date(repo.pushed_at).toDateString()}

+

Number of commits: ${num}

+

View the pull request

+
+ ` + } else { + projectCard.innerHTML += ` +
+

${repo.full_name.replace('rawisou/project-', '').replace('-', ' ')}

Default branch: ${repo.default_branch}

Pushed at: ${new Date(repo.pushed_at).toDateString()}

Number of commits: ${num}

Pull Request: No pull request

` - } + } }) - }) - }) - } - - \ No newline at end of file + }) + }) +} From 0dc0c417701e30c795899f5c94fe30e5387ec00c Mon Sep 17 00:00:00 2001 From: Rawisara Saman Date: Mon, 21 Mar 2022 15:28:07 +0100 Subject: [PATCH 12/13] [edited] made indentations in CSS more consistent --- code/chart.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/chart.js b/code/chart.js index f410980e..0e0ecd02 100644 --- a/code/chart.js +++ b/code/chart.js @@ -35,5 +35,5 @@ const drawChart = (amount) => } } } - const myChart = new Chart(ctx, config) + new Chart(ctx, config) } \ No newline at end of file From e52f1b8c2da501b988577e14408a84edad743d01 Mon Sep 17 00:00:00 2001 From: Rawisara Saman Date: Mon, 21 Mar 2022 15:30:30 +0100 Subject: [PATCH 13/13] fixed indentations using VS Code autoformat in all js files --- code/chart.js | 63 +++++++++++++++++++++++++------------------------- code/style.css | 3 +-- 2 files changed, 32 insertions(+), 34 deletions(-) diff --git a/code/chart.js b/code/chart.js index 0e0ecd02..41cf6475 100644 --- a/code/chart.js +++ b/code/chart.js @@ -2,38 +2,37 @@ const ctx = document.getElementById('myChart').getContext('2d') //"Draw" the chart here 👇 -const drawChart = (amount) => -{ - const config = { - type: "bar", - data: { - labels: ["Completed projects", "Remaining projects"], - datasets: [ - { - label: "Technigo projects", - data: [amount, 21-amount], - backgroundColor: [ - "#c8cccf", - "#778088", - ], - barThickness: "30", - }, - ], - }, - options: { - scales: { - x: { - grid: { - display: false, - } - }, - y: { - grid: { - display: false - } - }, - } +const drawChart = (amount) => { + const config = { + type: "bar", + data: { + labels: ["Completed projects", "Remaining projects"], + datasets: [ + { + label: "Technigo projects", + data: [amount, 21 - amount], + backgroundColor: [ + "#c8cccf", + "#778088", + ], + barThickness: "30", + }, + ], + }, + options: { + scales: { + x: { + grid: { + display: false, + } + }, + y: { + grid: { + display: false + } + }, } } - new Chart(ctx, config) + } + new Chart(ctx, config) } \ No newline at end of file diff --git a/code/style.css b/code/style.css index d97dfb03..056271ef 100644 --- a/code/style.css +++ b/code/style.css @@ -96,8 +96,7 @@ footer { } .chart-wrapper { width: 50%; -} - + } } @media (min-width: 1000px) {