devproject-findabusiness's People
devproject-findabusiness's Issues
Add a staging server
Overview
A staging server will make this application way easier to test and share. Since this is such a simple application, let's use a free Heroku instance.
Mock out the application
Overview
The goal here is to build out the base styles and overall interaction design of the application. So, I'll ignore any of the work integrating with third-party APIs and will instead be focusing on building a simple representation of the application with mocked data.
Goals
- Define pages and their navigation structure
- Implement base styles
- Mock the user interface with fake data
Non-Goals
- Fetch data from APIs
- Run a deep design exercise
Page Structure
Let's go with a really simple three-page design:
-
Home: a clean and simple home page that only contains a search box. Once a search term is entered, the user is taken to the Search Results page.
-
Search Results: A list of results that match the query results. For the initial build, let's show:
- The business name
- The business category
- The first image associated with the business
Clicking any of the results will take the user to the Result Details page.
-
Result Details: The full set of information that we expect to show for a result:
- The business name
- The business category
- The business address
- The tagged images
Design
Given the short timeframe of this work, the layout for the application will be designed in the browser, rather than with a wireframing tool. Additionally, I've been digging the current UI guidelines on iOS 11 applications, so the general feeling will be heavily inspired by those standards.
Connect to Google Places API
Overview
Replace the mocked out data in the application with real data from the Google Places API.
Tasks
- Connect search box to the API
- Display real search results
- Display real details
- Parameterize the search URL so that it can be linked
- Parameterize the details URL so that it can be linked
Complete responsiveness
The entire application is designed on a grid, so complete the work to make the site mobile ready.
- Collapse the grid at different breakpoints
- Update grid on pages where mobile patterns don't work
Create a production build
create-react-app
does have a production configuration, but blow it out (likely with Express or Koa) so that we can statically generate assets, minify JS, etc. Then most of the JS can live on a CDN.
Implement image tagging
Tighten up the application
Tighten and clean up the look and feel of the application. A couple of initial thoughts:
- Better zip code validation
- Loading animations
- Smoother loading of image tags on the details page
- Allow for more searching from the search results page
Build out base infrastructure and structure
Overview
Set the project up and get it integrated with a really basic CI system. Rather than using the base system that was provided in the prompt, I'll be using create-react-app
as it's lightweight and I know it well.
Since this is such a small application and there's so little state, the plan is to stay away from Redux and instead make a really simple, declarative structure that uses React state.
Tasks
- Generate the project structure using
create-react-app
- Setup the basic page and component structure
- Add
react-router
for routing - Create placeholder pages for home page, search results page, and details page
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.