React-Based News Reader more_vert

Run the App

View The Code

React-Based News Reader close

This JavaScript application is a single page, full stack web app that uses react.js to query and display articles based on user searches. It uses Node, Express and MongoDB to save, retrieve, and delete articles. Technologies employed:

  • react
  • axios
  • express
  • nodejs
  • mongoose
  • mongo

The Search implementation allows the user to specify a subject as well as a date range (in years). The search is full-text. For example, a search for

  • Topic: Hulme
  • Start Year: 1990
  • End Year: 2018
  • will return articles in the date range that contain the word “Hulme” (a district in the city of Manchester, UK).

    The user is able to click on the headline returned — the full text of the article will open in a separate window.

    The NYT Article Search API is used to retrieve headlines (New York Times Article Search API).

    Users can delete saved articles as well.

    Steve Hulme is the author of this application.

NC Triangle Relocation Guide more_vert

Run the App

View The Code

NC Triangle Relocation Guide close

Our app will let user enter a Triangle city. It then displays the neighborhoods in the city (from Zillow). The app allows the user to select and display amenities (churches, schools, grocery stores, parks) they are interested in.

Technologies Used

  • react
  • axios
  • express
  • nodejs
  • mongoose
  • mongo
  • Google Places
  • Zillow API

Authors: Steve Hulme, Logan Sawyer, Joshua Gomez, Michael Ashe. Idea from Steve Hulme

NYTimes News Scraper Appmore_vert

Run the App

View The Code

NY Times News Scraper Appclose

This application is a single page, full stack web app that scrapes and displays all stories from www.nytimes.com/section/world. Technologies employed:

  • express
  • handlebars
  • cheerio
  • nodejs
  • mongoose
  • mongo

Users are presented with a series of article headlines. Clicking on the headline will give the user access to a summary of the article, and a link to display the entire article in a new tab. Users can comment on each article, and display all comments that have been made.

Steve Hulme is the author of this application.

Friend Finder Compatibility Appmore_vert

Run the App

View The Code

Friend Finderclose

This app is a compatibility evaluator in which the user answers 10 questions designed to evaluate 10 aspects of her/his personality. User will answer each question with a numeric response from 1 (Strongly Disagree) to 5 (Strongly Agree).

The user’s answers to each question are compared with the answers for several representative (and fictitious) individuals. The individual whose answers have the least amount of difference from those of the user is chosen as a match.

The “match” is displayed in a modal pop up. The user’s data is pushed into the data structure that holds the “friends” information. There is a link at the bottom of the home page that will display, in JSON, the current contents of friends.js.

Technologies Used

  • nodejs
  • npm packages, including body-parser and express
  • Heroku

Steve Hulme is the author of this application.

Full Stack Web App with MySQLmore_vert

Run the App

View The Code

Hamburger Helper Appclose

This application is a single page, full stack web app, in which a menu of available hamburgers is presented.

User can eat any of the burgers on the menu in the “Burgers Available To Eat” section. “Eating” is accomplished by clicking the “Devour It!” button below the burger’s name. When a burger has been eaten, it is moved to the “Burgers That Have Been Eaten” list.

The user is also able to Add A Burger. To do this, the user simply types in a free-form text description in the “Add A Burger” section of the App. The new burger will then appear in the “Burgers Available To Eat” section. The user may then “eat” this new burger.

Steve Hulme is the author of this game.

Improved Trivia Gamemore_vert

Play The Game

View The Code

Multi-user Trivia Gameclose

This project extends the Trivia Game to a competitive multiplayer game that offers a choice of categories and difficulty levels. Player names and scores will be held in persistent storage and displayed as a leader board which will display user names and high scores.

Scoring is based on the number of right answers selected per round. Later development will extend the score calculation to include factors like the difficulty of questions and time taken to answer questions.

When the number of questions reaches the game limit (currently set to 10), the user will be prompted to enter in his/her initials at that point the users current game score will be posted to the leaderboards and displayed alongside the entered initial.

Users will play against the machine. However, the leader board will provide the competitive element, as users try to rack up the highest score.

APIs Used

  • -- OpenTDB -- open trivia database. Over 3,000 verified trivia questions and answers in ~20 categories.
  • -- pixabay.com/api. A RESTful API interface for searching and retrieving free images and videos released on Pixabay under Creative Commons CC0
  • -- Database Storage Persistent Storage -- Firebase

Authors

  • -- Steve Hulme, Javascript, APIs and game logic.
  • -- Emmanuel Mosqueda, UI redesign.
  • -- Jamal Patterson, Pixabay interface and game logic.
  • -- John Carroll, Firebase and Leaderboard.
GifTasticmore_vert

Play The Game

View The Code

GIF Retrieval, Display, Animateclose

This is an application that pulls random gif images related to a set of animals from the GIPHY API.

On initial page load, the app will dynamically build and append a button for each of the default animals. When clicked, up to 5 images of the specified animal are displayed dynamically.

The images are initially still. When an image is clicked, the gif will animate.

The user can add animal buttons to the array by entering the information in the form. The application will inform the user should no images be available for her/his chosen animal.

Technologies featured are AJAX and JSON.

Steve Hulme is the author of this game.

Train Time!more_vert

Play The Game

View The Code

Multi-User Train Timetable Appclose

This is a train timetable app. When adding trains via the application, administrators will submit the following:

  • -- Train Name
  • -- Destination
  • -- First Train Time -- in military time
  • -- Frequency -- in minutes

The app will calculate, store and display this information. The app calculates when the next train will arrive; relative to the current time. Users from many different machines can view same train times.

The User Interface is coded with the Materialize framework; moment.js is used for time calculations.

Steve Hulme is the author of this application.

Crystal Collector Gamemore_vert

Play The Game

View The Code

Crystal Collector Gameclose

The Basics

There will be four crystals displayed as buttons on the page. The player will be shown a random number at the start of the game.

When the player clicks on a crystal, it will add a specific amount of points to the player's total score. The game will hide this amount until the player clicks a crystal. Each time a player clicks one of the crystals the game will update the player's score.

Winning/Losing

  • -- The player wins if the player's total score matches the random number from the beginning of the game.
  • -- The player loses if the score goes exceeds the random number.
  • -- The game restarts whenever the player wins or loses.

Restart Processing

When the game restarts:

  • -- The player will see a new random number.
  • -- The crystals will have four new hidden values.
  • -- The user's score (and score counter) will reset to zero.
  • -- The app will show the number of games the player wins and loses.

Steve Hulme is the author of this game.

Historical Trivia Gamemore_vert

Play The Game

View The Code

Historical Trivia Gameclose

This is a multi-question Historical trivia game. The source of the questions is the Open Trivia Database (opentdb.com), which contains thousands of questions of various difficulties across more than 20 categories.

The code uses AJAX to access opentdb through its API. It also makes use of JQuery to implement various features, including its timer.

Steve Hulme is the author of this game.