Code Monkey home page Code Monkey logo

simpleapp's Introduction

Demo React News App README

Before starting

  • make sure you have Xcode installed and up to date to the latest CLI
  • update brew
  • install brew and watchman: brew install node && brew install watchman
  • install react native cli: npm install -g react-native-cli

Running the project

  • Clone repo
  • cd SimpleApp/
  • npm install
  • react-native run-ios
  • Bingo

Deco - React Native IDE

  • I have been using this IDE lately: Deco for ReactNative Dev.
  • It includes and auto-install components while also keeping package.json updated
  • After installing Deco, add the repo to the project view
  • Hit the Simulator button, select an iOS device, and voila

Troubleshooting & notes

  • Unexpected Character in whatever.png - you'll have to restart the packager. If it's running via terminal, kill the process and restart it. If it's running via Deco, kill Deco and restart. If it doesn't work, restart your computer
  • When installing new packages via yarn or npm, be sure to run react-native link to link the dependencies to the Xcode build. This is especially necessary with external fonts and iconography as these can break the build.

Relevant Documentation

simpleapp's People

Contributors

tenji240 avatar

Watchers

 avatar  avatar

simpleapp's Issues

Import React Native UI Library

We'll be using this one

  • import and link the library (vector icons are already set up so no need to stress on that)
  • Add some colored headers to each of the views
  • Tag the docs in the readme so people know where to look for stuff

Define JSON Data

Since we have no actual server side stuff set up (maybe a future issue?), let's define and populate the JSON content.

Publication

{"name": "name of publication",
"date":"date published", 
"hero_image":"300x300 hero URL", 
"logo":"80x80 publication logo",
"title":"title of publication",
"saved":"boolean status"}

Some possible publications w/themes

  • Bloomberg #2800D7
  • Washington Post #232526
  • CNBC #2980b9
  • The Economist #e74c3c
  • LA Times #2c3e50
  • Motor Trend #c0392b
  • NPR #3498db
  • Polygon #ff0052
  • The Verge #f7c626
  • Road and Track #e67e22

Tasks

  • Populate JSON data in news.json

Home Screen

  • Top is a Header with Current Date
  • Scrollable list of cards (Instagram style?) w/hero image, title, publication name, & date published

Inspiration:
news

Saved Stories

  • Top Header (don't worry about the toggle between history/saved)
  • Flat List (Round Avatar of logo, title, publication subtitle
  • Only show stories with saved status as true

Inspiration
saved

Test Suite

There are existing test suites for Jest and Flow

  • set up tests for each of the component views (Home, Explore, Saved, Favorites)
  • Add Flow to each of the tests

Explore

Probably the toughest issue

  • Grid view of each publication
  • grid element contains logo and theme color
  • When pressing a publication grid item, present a modal or a new view to display the contents of the publication (might require nested navigation)

explore

Favorites

  • Display all publishers in a scrollable grid
  • For each publisher, display current favorite status
  • add ability to toggle between favorite and non-favorite
  • Bonus: When pressing Favorite toggle, display an Alert.alert({...}) letting the user know if they want to turn on notifications for this publication.

favorites

Gifted Messenger

Add Mock Abilities to gifted messenger

  • Load messages from messageStorage.json
  • onEnter, push new message to messageStorage.json
  • add tests

Refactor

Everything is basically consolidated into App.js

  • Separate all Components into separate JS files
  • Set up proper state and prop transfers for each component
  • Test to make sure Functionality is maintained

Min Spec CSS

Define Min Spec CSS in styles.json

  • Apply Styles to all components

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.