{"id":17955460,"url":"https://github.com/hirako2000/hackathon-board","last_synced_at":"2026-03-02T07:04:00.335Z","repository":{"id":77567256,"uuid":"45831324","full_name":"hirako2000/hackathon-board","owner":"hirako2000","description":"node.js based webapp to manage Hackathon events","archived":false,"fork":false,"pushed_at":"2020-12-18T11:26:49.000Z","size":753,"stargazers_count":16,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-27T00:02:30.523Z","etag":null,"topics":["board","hack","hackathon","manage"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hirako2000.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-11-09T10:32:05.000Z","updated_at":"2024-09-26T03:01:28.000Z","dependencies_parsed_at":"2023-03-12T00:59:38.493Z","dependency_job_id":null,"html_url":"https://github.com/hirako2000/hackathon-board","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hirako2000/hackathon-board","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hirako2000%2Fhackathon-board","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hirako2000%2Fhackathon-board/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hirako2000%2Fhackathon-board/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hirako2000%2Fhackathon-board/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hirako2000","download_url":"https://codeload.github.com/hirako2000/hackathon-board/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hirako2000%2Fhackathon-board/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29994619,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-02T01:47:34.672Z","status":"online","status_checked_at":"2026-03-02T02:00:07.342Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["board","hack","hackathon","manage"],"created_at":"2024-10-29T10:28:42.704Z","updated_at":"2026-03-02T07:04:00.306Z","avatar_url":"https://github.com/hirako2000.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Codacy Badge](https://api.codacy.com/project/badge/Grade/d6d5811ca8414c3e9120039a6fc94ae3)](https://app.codacy.com/app/hirako2000/hackathon-board?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=hirako2000/hackathon-board\u0026utm_campaign=Badge_Grade_Dashboard)\r\n[![Build Status](https://travis-ci.org/hirako2000/hackathon-board.svg?branch=master)](https://travis-ci.org/hirako2000/hackathon-board)\r\n[![Dependency Status](https://david-dm.org/hirako2000/hackathon-board.svg)](https://david-dm.org/hirako2000/hackathon-board)\r\n[![devDependency Status](https://david-dm.org/hirako2000/hackathon-board/dev-status.svg)](https://david-dm.org/hirako2000/hackathon-board#info=devDependencies)\r\n[![license](https://img.shields.io/github/license/mashape/apistatus.svg?maxAge=2592000)]()\r\n\r\nTable of Contents\r\n-----------------\r\n\r\n- [Demo](#demo)\r\n- [Features](#features)\r\n- [Prerequisites](#prerequisites)\r\n- [Setup](#setup)\r\n- [Obtaining API Keys](#obtaining-api-keys)\r\n- [FAQ](#faq)\r\n- [Contributing](#contributing)\r\n- [License](#license)\r\n\r\nDemo\r\n--------\r\nSee a live demo [here](https://hackathon-board.herokuapp.com/)\r\n\r\nThe demo instance often goes to sleep after inactivity, cilck and wait about a minute for it to awake.\r\n\r\nFeatures\r\n--------\r\n\r\n- Local Authentication using Email and Password\r\n- OAuth 1.0a Authentication via Twitter\r\n- OAuth 2.0 Authentication via Facebook, Google, GitHub, LinkedIn, Instagram\r\n- Flash notifications\r\n- **Create hack**\r\n  * Title\r\n  * picture \r\n  * description\r\n  * category\r\n  * season\r\n- **List hacks** \r\n- **Search**\r\n  * By title\r\n  * category\r\n  * season\r\n- **Join hack**\r\n- **Add comments**\r\n- **List prizes**\r\n  * Name\r\n  * picture\r\n  * description\r\n- **Rules page**  \r\n- **User profile**\r\n  * Gravatar\r\n  * Profile Details\r\n  * Change Password\r\n  * Forgot Password\r\n  * Reset Password\r\n  * Link multiple OAuth strategies to one account\r\n  * Delete Account\r\n- CSRF protection\r\n- **Admin**\r\n  * Add/edit categories\r\n  * Add/edit seasons\r\n  * Add/Edit prize\r\n  * Edit rules\r\n  * Nominate hack\r\n- **Beautifier**\r\n\r\nPrerequisites\r\n-------------\r\n\r\n- [MongoDB](http://www.mongodb.org/downloads)\r\n- [Node.js](http://nodejs.org)\r\n\r\n\r\nSetup\r\n-------------\r\n\r\n```bash\r\n# Get the latest code\r\n$ git clone https://github.com/hirako2000/hackathon-board.git myproject\r\n$ cd myproject\r\n$ git remote rm origin\r\n\r\n# Install NPM dependencies\r\n$ npm install\r\n\r\n$ node app.js\r\n```\r\n\r\nObtaining API Keys\r\n------------------\r\n\r\nTo use any of the included APIs or OAuth authentication methods, you will need\r\nto obtain appropriate credentials: Client ID, Client Secret, API Key, or\r\nUsername \u0026 Password. You will need to go through each provider to generate new\r\ncredentials.\r\n\r\nI have included dummy keys and passwords from **Hackathon Starter** . But don't forget to update\r\nthem with *your credentials* when you are ready to deploy an app.\r\nhttps://github.com/sahat/hackathon-starter\r\n\r\nFAQ\r\n---\r\n**Admin user?**\r\nStarting with 1.0.2, the first user to signup with email/passowrd becomes admin.\r\nAdmin users can make other users admin in the admin users page.\r\n\r\n**Anything for the admin to setup**\r\n- Yes, as admin, create at least one Season, one category. (required or no hack can be create by users)\r\n- Then Also fill the Rules page, and add some prize entry. \r\n\r\nThat's pretty much all needed to get going, from there users can create their own hacks.\r\n\r\n**Why can I not add new locations?**\r\n- Add location in the source code. It's fairly easy to add as many as you like. I never got to implement a CRUD for these.\r\n\r\nContributing\r\n------------\r\n\r\nIf something is unclear, confusing, or needs to be refactored, please let me know.\r\nPull requests are always welcome, but due to the opinionated nature of this\r\nproject, I cannot accept every pull request. Please open an issue before\r\nsubmitting a pull request. This project uses\r\n[Airbnb JavaScript Style Guide](https://github.com/airbnb/javascript) with a\r\nfew minor exceptions. If you are submitting a pull request that involves\r\nJade templates, please make sure you are using *spaces*, not tabs.\r\n\r\nLicense\r\n-------\r\n\r\nThe MIT License (MIT)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhirako2000%2Fhackathon-board","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhirako2000%2Fhackathon-board","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhirako2000%2Fhackathon-board/lists"}