Giter Site home page Giter Site logo

mattpua / its-licious Goto Github PK

View Code? Open in Web Editor NEW
9.0 2.0 1.0 52.38 MB

A new way to pick Winterlicious Restaurants in Toronto (2018)

Home Page: https://mattpua.github.io/its-licious/?gh

License: MIT License

JavaScript 9.56% TypeScript 37.38% CSS 24.88% HTML 28.19%
desktop restaurants challenge mobile angular5

its-licious's Introduction

Its-Licious

Under 48 Hours Challenge Background

This project is the result of a challenge I thought of for myself called Under 48 Hours.

The challenge of Under 48 Hours is to create (whether it be design, code, build, make, etc) any project of your choice within a total time limit of 48 working hours. These do not need to be a consecutive 48 hours, but just 48 hours of working time. Once you reach a maximum of 48 hours of work or completion of the project, you must not continue working on the project anymore, and publish it in its final state for the world to see.

Why 48 hours? By having an explicit deadline on a new project, the challenge focuses individuals to prioritize what they need to focus on in order to get their project to a workable state. Individuals must factor in the time it takes to design a project, to come up with a solution, deal with any unforeseen technicalities and everything in between to make it to the deadline. 48 hours of work is just long enough time to deliver a great project, but not too short that you don't have enough time.

Interested in the challenge? Try taking on Under 48 Hours and let me know how it goes!

Project Background

Its-Licious is a responsive single page app (SPA) that allows the user to see all participating restaurants for Winterlicious or Summerlicious in Toronto. The application has various features such as:

  • filtering restaurants by various criteria such as cuisine type, yelp rating and neighbourhoods
  • making reservations directly online using OpenTable (only at participating restaurants)
  • viewing all restaurants via Google Map
  • reading Yelp and Google reviews for the restaurant obtained from the Yelp and Google APIs
  • seeing online Lunch and/or dinner menu sets for Winterlicious

The project is deployed onto GitHub Pages via Angular CLI gh-pages. By using GitHub pages we're provided with free hosting for what's essentially a static page.

Tech

This project was generated with Angular CLI version 1.6.4.

The project is split into 2 components, the first being the front end, and the second being the node server used for data retrieval.

On the front end side, the project is built on Angular 5. I opted to go with this choice due to my familiarity with Angular 4, and wanted to see if there were any noticeable differences between Angular 4 and 5. In terms of any CSS Frameworks, I've chosen to go barebones here to work on my CSS abilities. The project was made responsive using Flexbox. The project was built for mobile use, but was built with desktop being the primary usecase.

On the backend side, a node server was ran a single time to populate the data by making requests to both the Yelp API and the Google API. These files can be in /api folder.

For this project, I've opted to use as little external packages/frameworks/helpers as possible to minimize external dependencies as well as to focus on features that are vital to the project, due to the time constraints of the challenge.

External Packages/Assets included (apart from the packages that come from generating a project via the angular CLI) are the following:

Development server

Run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Future Improvements

  • Pagination/Lazy Loading
  • Gzip json files

Design

Work Breakdown

By loosely keeping track of the hours worked for what task, I was able to come up with a general idea of where my hours were most spent.

  • Design

    • Desktop: 14 hours
    • Logo: 1 hours
  • Development

    • Desktop: 21 hours
    • Mobile: 4 hours
    • Yelp API: 3.5 hours
    • Google API: 3 hours

    Total Time Spent: 46.5 hours (1.5 hours short of the challenge limit)

Medium

Interested in reading a lengthier breakdown of the project, from conception to after publishing analysis? Check out the series on Medium here:

An Audience Analysis - http://bit.ly/medium-its-licious-post-analysis

Credits:

its-licious's People

Contributors

angular-cli avatar mattpua avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

rajeshkumarsomu

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.