Skip to content

Hack Day repository. Read the instructions to know where to begin.

Notifications You must be signed in to change notification settings

NicolasR27/hackday

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 

Repository files navigation

Inland Empire Software Development Logo

Hack Day

Facebook logo Slack logo

Welcome to the official repository for the IESD Hack Day event.

Getting Started

This repository has the resources to get you prepared for this month's Hack Day event.

No starter code provided

If you have any questions, please ask on our Slack. We welcome everyone to our Slack, so don't be afraid to join! Have fun coding!

Join our Slack!

Concepts to Review

This section provides you some concepts to review that will make your time working on the Hack Day project much easier.

  • Working with API's
  • Data Visualization
  • UI Design
  • GitHub Collaboration
  • Database Integration (data permanence & data retrieval)

Technology

This Hack Day challenge is language agnostic. We will not force you to use a specific stack. Your tech stack is dependent on the composition of your team.

Challenge

For this Hack Day. The problem we will be attacking is the following...

Challenge: We need a user interface that displays the information pulled from a user account on GitHub.com.

Additional information: We want the ability to pull data from a user account on GitHub and show that collected data in an easy to read format. We don't want to sift through data, instead we want to visually digest the information after the data has been processed for the end user. The end user should be able to see who's profile this is, extrapolate information such as favorite languages, most used languages, how often this person contributes to projects, etc.

Tasks

Minimum Requirements: (5 points each)

These are easy to get points.

Design and build a user interface that revolves around the user information. Make sure to use graphs, charts and other visualization tools where necessary. All design decisions are left up to you and your team.

  • Must have at least 1 chart
  • Must have at least 1 graph
  • Must show user image
  • Must have a section for user's basic information
  • Must have a section for user's metrics

Make sure that this data is avaiable to the end user in the user interface.

  • List of repos (main repos showing on profile - Max of 6)
  • List of organizations
  • User description
  • User image
  • User email
  • User name

Main Requirements: (10 points each)

  • Pull user data from GitHub using a GitHub username handle.
  • What is their main language (that they work with the most)
  • What are their top 3 most used languages (chart/graph)
  • Breakdown of all languages used (graph/chart) by number of commits, lines of code
  • The number of commits across all their repos
  • Activity for the year, 2019, for each language - this can be a graph or chart.
  • A view that shows the year by month and for each month it shows the language the user worked with the most.
  • For each repo involved with, get list of technologies used (JS, CSS, axios, angular, etc.)
  • For each repo involved with, get activity stream - show activity for repo
  • For each repo involved with, get top language
  • Save data for user query
  • Ability to query database using username
  • Ability to update saved data
  • Ability to retrieve data by email (updates the display/UI)
  • Update data on request (trigger)

Bonus Requirements: (25 points each)

  • Compare data between two users (lines of code in a language, overall lines of code, activity, most active months, etc.)
  • Email results to an email address as a PDF.
  • Ability to print visualization to an easy to read PDF.
  • Ability to print all data in an easy to read JSON object for consumption - via API?

Innovation

Have an idea for an innovative feature for this project? Additional information that you think would be interesting to show based on the data provided by GitHub? Each accepted innovation that is completed will earn you a total of 50 points.

Innovations must meet the following criteria:

  • Must be a new idea (creative and original)
  • Must be of higher caliber thinking than bonus requirements
  • Must not cause any regression in user experience
  • May not form nor function - one may guide the other

Scoring

Based on the point system under tasks, you will also be on the hook for an additional 10 points. Your project will be reviewed and given points (not deducted points) if any of the factors below are met or exceeded.

Factors in scoring:

  • Code simplicity
  • Documentation
  • Code commenting
  • UI Design / Visualization Design
  • Presentation
  • Teamwork
  • Collaboration (Git & GitHub commit messages, PRs, comments, review, etc)

Simplicity will be favored over complex/clever code. Commenting code will also be highly favored.

Tools

You can use any tools, below are a list of tools that may prove helpful while designing and building the user interface.

Layout - CSS Libraries

Design Tools

Visualization Libraries

Submission

Once you are ready to submit, please submit a link for your repository in the Slack channel #general - so everyone can take a look. Direct message @lloan with the link as well.

Presenting

  • You will be given 3 minutes to present
  • Make sure you repository reflects all the names of your team members
  • Make sure all the tasks you were able to complete and your total score based on the tasks you were able to complete is reflected
  • Use your list of completed tasks to guide your presentation
  • Walk the audience through what you were able to complete
  • Walk the audience through your design
  • State what you think your team did well

About

Hack Day repository. Read the instructions to know where to begin.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • JavaScript 83.6%
  • HTML 16.4%