Code Monkey home page Code Monkey logo

hacktoberfest's Introduction

Hacktoberfest

Pada bulan Oktober setiap tahunnya, berbagai software developer dari penjuru dunia berkumpul untuk berkontribusi pada berbagai proyek dan repository open source. Dari library yang krusial, infrastruktur, hingga aplikasi yang dinikmati oleh semua orang sehari-hari. Hacktoberfest bertujuan untuk memberikan dukungan, bantuan, mengasah kemampuan, dan berkolaborasi untuk berbagai hal yang bersifat open source.

Di Indonesia, banyak yang menggunakan produk open source, namun tidak tertarik atau belum berani untuk berkontribusi pada proyek-proyek tersebut. Teknologi Umum berusaha untuk mendorong para sofware developer Indonesia untuk mulai berkontribusi kepada open source, dari ikut berkontribusi untuk ngoding atau bahkan sesederhana mencari dan melaporkan bug pada suatu software.

Website hacktoberfest.teknologiumum.com membantu mencari berbagai issue yang dapat dikerjakan agar kamu dapat memulai berkontribusi pada proyek-proyek open source lokal.

Lisensi

Source code untuk website hacktoberfest.teknologiumum.com berada dibawah lisensi Apache 2.0

Copyright 2023 Teknologi Umum

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Lihat LICENSE

hacktoberfest's People

Contributors

aldy505 avatar dependabot[bot] avatar elianiva avatar iamyuu avatar ii64 avatar krowter avatar lgtm-com[bot] avatar nblfikr avatar up2dul avatar yogipristiawan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hacktoberfest's Issues

Guide to participate

  • Explain what Hacktoberfest is
  • Explain what is Open Source Software and why contributing to it is a good thing to do
  • Explain about how to contribute to Open Source
  • Explain the Hacktoberfest rule

Create backend endpoint to track open PRs

Right now, the organization members are overwhelmed by the amount of open PRs and we'd like to track them. There are some states that would be displayed (this rule is configured on the backend, so the frontend guys could just get the state and display it):

  • PR is open, no reviews yet
  • PR is open, there are comments but there are no change requests or approval
  • PR is open, but there is a change request
  • PR is open, there are review requests to someone
  • PR is open, approved by non-members of Teknologi Umum
  • PR is open, approved by exactly one member of Teknologi Umum
  • PR is open, approved by more than one member of Teknologi Umum (not yet merged, obviously)

Some API references:

Implement caching

biar ngga terus terusan hit API punya Github, ntar kena rate limit

hit github rate-limit

test github::tests::test_chrono_serde ... ok
thread 'github::tests::test_list_languages' panicked at 'called `Result::unwrap()` on an `Err` value: reqwest::Error { kind: Decode, source: Error("invalid type: string \"API rate limit exceeded for <IP>. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)\", expected i64", line: 1, column: 178) }', src/github.rs:185:73
stack backtrace:
thread 'github::tests::test_list_repository' panicked at 'called `Result::unwrap()` on an `Err` value: reqwest::Error { kind: Decode, source: Error("invalid type: map, expected a sequence", line: 1, column: 0) }', src/github.rs:171:53
thread 'github::tests::test_list_issues' panicked at 'called `Result::unwrap()` on an `Err` value: reqwest::Error { kind: Decode, source: Error("invalid type: map, expected a sequence", line: 1, column: 0) }', src/github.rs:178:62

d567be6 (HEAD -> feat/backend-repo-handler, origin/feat/backend-repo-handler) feat(backend): makefile debug cmd

Create `docker-compose.yml` file for deployment

See https://github.com/teknologi-umum/pesto/blob/master/docker-compose.yml#L67-L123 for example

The app would be served by Traefik as the API gateway, so Traefik's label annotation should also be used.

The backend should resides on /api with the remove prefix middleware turned on and priority set to 2 (higher than frontend). The frontend should have PathPrefix("/") with priority set to 1. The Host() should be hacktoberfest.teknologiumum.com.

Add log limiter on each services:

logging:
  driver: json-file
  options:
    max-size: 100M
    max-file: 3

Frontend must not depends on frontend. Both must implement healthchecks.

dim the white filter colour

the white filter colour should be dimmed to make it more visible whether if it's an active filter or not, just like the other filters colour

image

Project README

Create a README.md file that resides on the root directory

RangeError: Maximum call stack size exceeded

hacktoberfest-frontend-1  | Node.js v20.7.0
hacktoberfest-frontend-1  | Qwik running on localhost:3000
hacktoberfest-frontend-1  | RangeError: Maximum call stack size exceeded
hacktoberfest-frontend-1  |     at Jr (file:///home/app/server/entry.polka.mjs:24:1485)
hacktoberfest-frontend-1  |     at cs (file:///home/app/server/entry.polka.mjs:25:6179)
hacktoberfest-frontend-1  |     at file:///home/app/server/entry.polka.mjs:25:6280
hacktoberfest-frontend-1  |     at Jr (file:///home/app/server/entry.polka.mjs:24:1464)
hacktoberfest-frontend-1  |     at cs (file:///home/app/server/entry.polka.mjs:25:6179)
hacktoberfest-frontend-1  |     at file:///home/app/server/entry.polka.mjs:25:6280
hacktoberfest-frontend-1  |     at Jr (file:///home/app/server/entry.polka.mjs:24:1464)
hacktoberfest-frontend-1  |     at cs (file:///home/app/server/entry.polka.mjs:25:6179)
hacktoberfest-frontend-1  |     at file:///home/app/server/entry.polka.mjs:25:6280
hacktoberfest-frontend-1  |     at Jr (file:///home/app/server/entry.polka.mjs:24:1464)
hacktoberfest-frontend-1  | node:events:492
hacktoberfest-frontend-1  |       throw er; // Unhandled 'error' event
hacktoberfest-frontend-1  |       ^
hacktoberfest-frontend-1  | 
hacktoberfest-frontend-1  | Error [ERR_STREAM_WRITE_AFTER_END]: write after end
hacktoberfest-frontend-1  |     at new NodeError (node:internal/errors:405:5)
hacktoberfest-frontend-1  |     at ServerResponse.end (node:_http_outgoing:1021:15)
hacktoberfest-frontend-1  |     at Polka.onError (file:///home/app/node_modules/.pnpm/[email protected]/node_modules/polka/build.mjs:9:11)
hacktoberfest-frontend-1  |     at next (file:///home/app/node_modules/.pnpm/[email protected]/node_modules/polka/build.mjs:83:38)
hacktoberfest-frontend-1  |     at Array.router (file:///home/app/server/entry.polka.mjs:337:113041)
hacktoberfest-frontend-1  |     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
hacktoberfest-frontend-1  | Emitted 'error' event on ServerResponse instance at:
hacktoberfest-frontend-1  |     at emitErrorNt (node:_http_outgoing:857:9)
hacktoberfest-frontend-1  |     at process.processTicksAndRejections (node:internal/process/task_queues:83:21) {
hacktoberfest-frontend-1  |   code: 'ERR_STREAM_WRITE_AFTER_END'
hacktoberfest-frontend-1  | }
hacktoberfest-frontend-1  | 

On the production server.

Shows contributors and their pull requests

Based on #50

We can now get a list of contributors that contributes to the list of the defined organization and/or repository within this app, we can show how many contributions they have made. The design is up to you, put a screenshot of the result for reviewers' convenience.

Endpoint: GET /contrib

Sample response:

[
	{
		"full_name": "rubichandrap",
		"profile_url": "https://github.com/rubichandrap",
		"merged_pulls": 4,
		"pending_pulls": 2
	},
	{
		"full_name": "afman42",
		"profile_url": "https://github.com/afman42",
		"merged_pulls": 1,
		"pending_pulls": 8
	},
	{
		"full_name": "farhan443",
		"profile_url": "https://github.com/farhan443",
		"merged_pulls": 4,
		"pending_pulls": 6
	},
	{
		"full_name": "jason-wihardja",
		"profile_url": "https://github.com/jason-wihardja",
		"merged_pulls": 0,
		"pending_pulls": 1
	}
]

Showcase neighbor organization

One of Teknologi Umum's child is Kodiiing and it might join the Hacktoberfest this year. We should also scrape from that organization.

If there any other organization that are friends with us, and joined the Hacktoberfest this year, we should scrape them too.

Show list of ongoing PRs that needs reviews

Because the reviewers can't catch up with the world right now.

Backend API endpoint is at: /pullrequest.

Sample output:

[
  {
    "number": 68,
    "html_url": "https://github.com/teknologi-umum/hacktoberfest/pull/68",
    "title": "fix: github app error",
    "state": "Closed",
    "mergeable_state": "Dirty",
    "locked": false,
    "user": {
      "login": "ii64",
      "avatar_url": "https://avatars.githubusercontent.com/u/26342994?v=4",
      "html_url": "https://github.com/ii64"
    },
    "created_at": "2022-10-14T07:21:49Z",
    "updated_at": "2022-10-14T07:24:34Z",
    "merged_at": "2022-10-14T07:24:24Z",
    "closed_at": "2022-10-14T07:24:24Z",
    "merged": true,
    "draft": false,
    "requested_reviewers": [
      {
        "login": "elianiva",
        "avatar_url": "https://avatars.githubusercontent.com/u/51877647?v=4",
        "html_url": "https://github.com/elianiva"
      }
    ],
    "author_association": "Unknown",
    "comments": 0,
    "review_comments": 0,
    "diff": {
      "additions": 11,
      "deletions": 15,
      "changed_files": 1
    }
  },
  {
    "number": 66,
    "html_url": "https://github.com/teknologi-umum/hacktoberfest/pull/66",
    "title": "fix(frontend): favicon",
    "state": "Closed",
    "mergeable_state": "Unknown",
    "locked": false,
    "user": {
      "login": "iamyuu",
      "avatar_url": "https://avatars.githubusercontent.com/u/45778229?v=4",
      "html_url": "https://github.com/iamyuu"
    },
    "created_at": "2022-10-12T15:23:00Z",
    "updated_at": "2022-10-12T18:12:42Z",
    "merged_at": "2022-10-12T15:55:04Z",
    "closed_at": "2022-10-12T15:55:04Z",
    "merged": true,
    "draft": false,
    "requested_reviewers": [],
    "author_association": "Contributor",
    "comments": 0,
    "review_comments": 0,
    "diff": {
      "additions": 5,
      "deletions": 7,
      "changed_files": 7
    }
  },
  {
    "number": 65,
    "html_url": "https://github.com/teknologi-umum/hacktoberfest/pull/65",
    "title": "feat(frontend): filter repositories that has no issue",
    "state": "Open",
    "mergeable_state": "Clean",
    "locked": false,
    "user": {
      "login": "up2dul",
      "avatar_url": "https://avatars.githubusercontent.com/u/36098718?v=4",
      "html_url": "https://github.com/up2dul"
    },
    "created_at": "2022-10-09T15:24:31Z",
    "updated_at": "2022-10-11T05:26:57Z",
    "merged_at": "-262144-01-01T00:00:00Z",
    "closed_at": "-262144-01-01T00:00:00Z",
    "merged": false,
    "draft": false,
    "requested_reviewers": [],
    "author_association": "Contributor",
    "comments": 0,
    "review_comments": 3,
    "diff": {
      "additions": 11,
      "deletions": 9,
      "changed_files": 1
    }
  },
  {
    "number": 10,
    "html_url": "https://github.com/teknologi-umum/captcha-lite/pull/10",
    "title": "Feat zerolog logger",
    "state": "Closed",
    "mergeable_state": "Unknown",
    "locked": false,
    "user": {
      "login": "falentio",
      "avatar_url": "https://avatars.githubusercontent.com/u/75155697?v=4",
      "html_url": "https://github.com/falentio"
    },
    "created_at": "2022-10-08T06:42:40Z",
    "updated_at": "2022-10-08T23:59:11Z",
    "merged_at": "2022-10-08T23:59:11Z",
    "closed_at": "2022-10-08T23:59:11Z",
    "merged": true,
    "draft": false,
    "requested_reviewers": [],
    "author_association": "Contributor",
    "comments": 1,
    "review_comments": 2,
    "diff": {
      "additions": 119,
      "deletions": 1,
      "changed_files": 5
    }
  },
  {
    "number": 120,
    "html_url": "https://github.com/teknologi-umum/blog/pull/120",
    "title": "feat(comps): add horizontal scroll to categories PostCard",
    "state": "Open",
    "mergeable_state": "Dirty",
    "locked": false,
    "user": {
      "login": "up2dul",
      "avatar_url": "https://avatars.githubusercontent.com/u/36098718?v=4",
      "html_url": "https://github.com/up2dul"
    },
    "created_at": "2022-10-04T10:23:25Z",
    "updated_at": "2022-10-08T02:29:37Z",
    "merged_at": "-262144-01-01T00:00:00Z",
    "closed_at": "-262144-01-01T00:00:00Z",
    "merged": false,
    "draft": false,
    "requested_reviewers": [
      {
        "login": "herlangga72",
        "avatar_url": "https://avatars.githubusercontent.com/u/44990885?v=4",
        "html_url": "https://github.com/herlangga72"
      },
      {
        "login": "elianiva",
        "avatar_url": "https://avatars.githubusercontent.com/u/51877647?v=4",
        "html_url": "https://github.com/elianiva"
      },
      {
        "login": "arnoldart",
        "avatar_url": "https://avatars.githubusercontent.com/u/57179477?v=4",
        "html_url": "https://github.com/arnoldart"
      }
    ],
    "author_association": "FirstTimeContributor",
    "comments": 1,
    "review_comments": 0,
    "diff": {
      "additions": 24,
      "deletions": 21,
      "changed_files": 1
    }
  },
  {
    "number": 119,
    "html_url": "https://github.com/teknologi-umum/blog/pull/119",
    "title": "fix(frontend) : resolve card",
    "state": "Open",
    "mergeable_state": "Clean",
    "locked": false,
    "user": {
      "login": "arnoldart",
      "avatar_url": "https://avatars.githubusercontent.com/u/57179477?v=4",
      "html_url": "https://github.com/arnoldart"
    },
    "created_at": "2022-10-03T14:59:04Z",
    "updated_at": "2022-10-06T03:23:47Z",
    "merged_at": "-262144-01-01T00:00:00Z",
    "closed_at": "-262144-01-01T00:00:00Z",
    "merged": false,
    "draft": false,
    "requested_reviewers": [
      {
        "login": "elianiva",
        "avatar_url": "https://avatars.githubusercontent.com/u/51877647?v=4",
        "html_url": "https://github.com/elianiva"
      }
    ],
    "author_association": "Contributor",
    "comments": 3,
    "review_comments": 0,
    "diff": {
      "additions": 16,
      "deletions": 3,
      "changed_files": 1
    }
  }
]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.