Skip to content

Commit

Permalink
Merge pull request #93 from TreeHacks/treehacks-2023
Browse files Browse the repository at this point in the history
updates
  • Loading branch information
sathviknallamalli authored Jan 26, 2023
2 parents 2382fd6 + 41f945c commit 5f0ea98
Show file tree
Hide file tree
Showing 16 changed files with 1,114 additions and 166 deletions.
4 changes: 3 additions & 1 deletion src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import {
Switch,
Redirect,
} from "react-router-dom";
import Prizes from "./js/prizes/Prizes.jsx";

const reload = () => window.location.reload();

Expand All @@ -40,7 +41,7 @@ class Main extends React.Component {
<div>
<Countdown />
<Resources />
<p>Note: all times below are in PT (California time)</p>
<p>Note: all times below are in PST (California time)</p>
<Schedule />
<div id="group">
<Announcements setAnnouncementData={this.setAnnouncementData} />
Expand Down Expand Up @@ -85,6 +86,7 @@ function App() {
<Route exact path="/" component={Main} />
<Route exact path="/_room/:roomId" component={RoomStatus} />
<Route exact path="/apisresources" component={Apis} />
<Route exact path="/prizes" component={Prizes} />
<Route exact path="/challenges/:challengeId" component={Challenge} />
<Route path="/apple-app-site-association" onEnter={reload} />

Expand Down
80 changes: 67 additions & 13 deletions src/js/apis/Apis.jsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import React from "react";
import React, { useEffect, useState } from "react";
import Bricklayer from "bricklayer";
import data from "./data.yaml";

Expand All @@ -8,9 +8,43 @@ export default class extends React.Component {
this.myRef = React.createRef();
this.state = {
tag: null,
searchInput: "",
companyData: data.companies,
};
this.onTagClick = this.onTagClick.bind(this);
this.handleChange = this.handleChange.bind(this);
}

handleChange = (e) => {
e.preventDefault();
this.setState({ searchInput: e.target.value });
//const dataC = [{ name: "Belgium", continent: "Europe" }];
if (this.state.searchInput.length > 0) {
const filtered = this.state.companyData.filter(
(country) =>
country.apis[0].title
.toLowerCase()
.includes(this.state.searchInput) ||
country.apis[0].description
.toLowerCase()
.includes(this.state.searchInput)
);
this.setState({ companyData: filtered });
console.log(filtered);
}
};

/*
const filtered = constantProjectData.filter(
(project) =>
project.projectTitle?.includes(search) ||
project.projectDescription?.includes(search) ||
project.builders?.includes(search) ||
project.submitFirstName?.includes(search) ||
project.submitLastName?.includes(search)
);*/

componentDidMount() {
this.bricklayer = new Bricklayer(this.myRef.current);
}
Expand All @@ -27,22 +61,40 @@ export default class extends React.Component {
});
}
}

render() {
return (
<div class="apis container">
<div className="row">
<h1 className="api-title">APIs & Resources</h1>
</div>
<div className="row">
<button
{/* <button
className={`api-tag-button ${
null == this.state.tag ? "active" : ""
}`}
onClick={() => this.onTagClick(null)}
>
All
</button>
{(data.tags || []).map((tag) => (
</button> */}
Here you can find a list of all the API's offered by our sponsoring
companies, along with any resources and forms we post to receive cloud
credits.
{/* <input
type="text"
placeholder="Search here"
style={{
width: "80%",
borderRadius: "20px",
backgroundColor: "transparent",
border: "1px solid black",
padding: "10px 15px",
margin: "20px 0",
}}
onChange={this.handleChange}
value={this.state.searchInput}
/> */}
{/* {(data.tags || []).map((tag) => (
<button
className={`api-tag-button ${
tag == this.state.tag ? "active" : ""
Expand All @@ -51,10 +103,10 @@ export default class extends React.Component {
>
{tag}
</button>
))}
))} */}
</div>
<div className="bricklayer" ref={this.myRef}>
{(data.companies || []).map((company) =>
{this.state.companyData.map((company) =>
company.apis.map((api) => {
if (
this.state.tag == null ||
Expand All @@ -70,13 +122,15 @@ export default class extends React.Component {
slack: <strong>#{company.slack}</strong>
</p>
)}
{api.links.map((link) => (
<a target="_blank" href={link.url}>
<button className="main-button">
{link.title || link.url}
</button>
</a>
))}
{console.log(api)}
{api.links != null &&
api.links.map((link) => (
<a target="_blank" href={link.url}>
<button className="main-button">
{link.title || link.url}
</button>
</a>
))}
</div>
</div>
);
Expand Down
135 changes: 70 additions & 65 deletions src/js/apis/data.yaml
Original file line number Diff line number Diff line change
@@ -1,110 +1,115 @@
tags:
-
-
companies:
- company: GCP
- company: Vercel
apis:
- title: GCP Credits
description: $50 GCP credit per hacker
- title: Vercel
description: Create projects, deployments, and more with programmatic access to your Vercel account.
links:
- title: Form
url: https://docs.google.com/forms/d/e/1FAIpQLScSPqesC4HwHu1HmWqgI3HD_-N0syDsJBqVM_El4S-fz7IRLw/viewform
- title: API
url: https://vercel.com/docs/rest-api
tags:
- Geospatial
- company: AWS
- company: Omnichain
apis:
- title: AWS Credit forms
description: $200 GCP credit per team
- title: Omnichain Smart Contracts and Messaging
description: Smart Contracts and Messaging Platform that lets you build dApps that span many blockchains.
links:
- title: Form
url: https://treehacks.typeform.com/to/wVmTH4H6
- title: API
url: zetachain.com/docs/
tags:
- Geospatial
- company: Null
- company: Arduino
apis:
- title: Bubble API
description: Bubble can expose your custom database schema as a RESTful API with one click, or allow you to create custom endpoints
- title: Arduino Cloud REST API & SDK
description: The Arduino IoT Cloud REST API can be accessed through a set of endpoints to manage Devices, Things, Properties, and more. It can be accessed via any HTTP client and is supported by JavaScript, Python, and Golang clients.
links:
- title: Documentation
url: https://manual.bubble.io/core-resources/api
- title: API
url: https://docs.arduino.cc/arduino-cloud/getting-started/arduino-iot-api
tags:
- Geospatial
- company: Null
- company: NEAR Protocol
apis:
- title: Free access to all Bubble features during TreeHacks
description: To get access to features not normally offered on our free plan, visit link below to tag your account, and then pick the free “Hackathon” plan on our Settings -> App Plan tab in the editor.
- title: NEAR.social
description:
NEAR Social is a social networking platform the runs on smart contract (social.near) deployed on the NEAR Protocol (a layer 1 blockchain) that allows for anyone to post their ReactJS like code as widgets directly on the open web. Not only can anyone create or fork any widget directly on the platform near.social, but all data can be indexed from the blockchain known as the Social DB. Imagine CodePen meets Facebook meets OpenAPI.
To access -> 👋🏽 1st Make An Account → Create Wallet → Sign into NEAR Social
links:
- title: Link
url: https://bubble.io/event/treehacks-2022
- title: GitHub
url: https://github.com/nearsocial/
- title: Social Docs
url: https://thewiki.near.page/near.social_docs
- title: NEAR Social Developer Telegram
url: https://nearbuilders.com/tg-social
tags:
- Geospatial
- company: Intel
- company: Wolfram
apis:
- title: Intel oneAPI Learning Paths
description: A curated set of training modules that help you learn specific tools and technologies. You learn the code and practice using Intel® DevCloud.
- title: Wolfram|One
description: Access to both Desktop and Cloud, Wolfram Language, Knowledgebase, FreeCDF deployment, 5000 Wolfram|Alpha API calls, 5000 Cloud Credits, 2 installations per user, and 2 GB of Cloud Storage.
links:
- title: Learn More
url: https://www.intel.com/content/www/us/en/developer/tools/oneapi/training/overview.html
tags:
- Geospatial
- company: Intel
- company: Supabase
apis:
- title: Intel DevCloud
description: A developer sandbox to develop, test and run workloads across a range of Intel CPUs, GPUs and FPGAs using oneAPI.
- title: Supabase
description: Access to both Desktop and Cloud, Wolfram Language, Knowledgebase, FreeCDF deployment, 5000 Wolfram|Alpha API calls, 5000 Cloud Credits, 2 installations per user, and 2 GB of Cloud Storage.
links:
- title: Learn More
url: https://devcloud.intel.com/oneapi/get_started
- title: Access Link
url: https://app.supabase.com/
tags:
- Geospatial
- company: Intel
- company: Checkbook.io
apis:
- title: Intel GitHub
description: Samples for oneAPI toolkits.
- title: Checkbook Payments API
description: The Checkbook API
links:
- title: Learn More
url: https://github.com/oneapi-src/oneAPI-samples
- title: API
url: https://docs.checkbook.io/reference/post-check-digital
tags:
- Geospatial
- company: Nope
- company: Retool
apis:
- title: InterSystems Resources
description: Here you’ll find all that you need to use InterSystems FHIR cloud services in your project.
- title: Retool
description: Retool is the ultimate hackathon hack! It's a low-code platform that makes building any app a breeze with minimal setup required. With Retool's drag-and-drop app builder, you can assemble custom apps, dashboards, and admin panels in minutes. Plus, with the ability to write custom code and connect to any data source or API, you can create the perfect tool for your hackathon demo without having to fuss about setup.
links:
- title: Learn More
url: https://ischack.netlify.app/#home
- title: Register for the free plan here
url: https://login.retool.com/auth/signup?plan=free
tags:
- Geospatial
- company: Nope
- company: Protocol Labs
apis:
- title: ScaleAI
description: Scale Rapid is the fastest way to get production quality labels.
- title: Estuary API
description: Allows hackers to upload data to Estuary. To access, hackers msut apply for an invite - in the application, hackers must state they are a part of TreeHacks.
links:
- title: API docs
url: https://docs.scale.com/reference/introduction
- title: Product Docs
url: https://scale.com/docs/getting-started-rapid
- title: Self-label Docs
url: https://scale.com/docs/rapid-faq
- title: CoLab Starter
url: https://colab.research.google.com/drive/1XZjbVtA2oGOdMp0-v0E80ujMB8tbeh7x?usp=sharing
- title: $250 Credits For Students
url: https://scale.com/rapid/university
- title: Link to apply for an invite
url: https://docs.estuary.tech/get-invite-key
tags:
- Geospatial
- company: Nope
- company: Otsuka Valuenex
apis:
- title: Nucleus API
description: Scale Nucleus is a developer-first product with a REST API
- title: VALUENEX Radar
description: VALUENEX Radar is a data visualization platform with our proprietary algorithm to analyze any type of compiled text, such as start-up data, scientific papers, news, financial reports, customer feedback, or anything else you can think of, to gain insight into previously unseen patterns and future movements, allowing for detection and extraction of key knowledge such as untapped potential, new opportunities, competitive threats, and collaborative links to make better decisions for future strategy.
links:
- title: Learn More
url: https://dashboard.scale.com/nucleus/docs/api
- title: NOT GIVEN YET
url:
tags:
- Geospatial
- company: Nope
- company: Mem
apis:
- title: VMWare Tanzu Community Edition
description: VMware Tanzu Community Edition is a full-featured, easy-to-manage Kubernetes platform for learners and users, especially those working in small-scale or pre-production environments
- title: Mem API
description: The Mem API is a way for people to develop integrations and flows for Mem. The Mem API enables a variety of information—text messages, sound clips, videos, contacts, projects, emails, documents, tasks, calendar events, you name it—to flow into and out of your Mem knowledge graph, the place where your information is connected, contextualized, and automatically structured into an intelligent, assistive database.
links:
- title: Learn More
url: https://tanzucommunityedition.io/
- title: API
url: https://docs.mem.ai/
tags:
- Geospatial
- Geospatial
- company: Mem
apis:
- title: Convex API
description: Convex platform getting started, usage docs, and reference APIs
links:
- title: API
url: https://docs.convex.dev/tutorial
tags:
- Geospatial
12 changes: 12 additions & 0 deletions src/js/content.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
{
"hackpacks": [
{
"name": "Computer Vision (Machine Learning)",
"link": "https://github.com/TreeHacks/computer-vision-hackpack"
},
{
"name": "Web + Firebase",
"link": "https://github.com/TreeHacks/hackpack-web-firebase"
},
{
"name": "Hardware",
"link": "https://github.com/TreeHacks/hardware_hackpack"
},
{
"name": "Android (Java)",
"link": "https://github.com/TreeHacks/hackpack-android"
Expand Down
2 changes: 1 addition & 1 deletion src/js/countdown.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import React from "react";
import { START_DATE, default as Timer } from "./timer.jsx";

function Countdown() {
var units = ["d", "h", "m", "s"];
var units = ["days", "hours", "minutes", "seconds"];
var timeline = [];
for (var i = 0; i < 4; i++) {
timeline.push(<TimerUnit unit={units[i]} key={i} />);
Expand Down
Loading

0 comments on commit 5f0ea98

Please sign in to comment.