Giter Club home page Giter Club logo

mood_mobile's Introduction

Hi there ๐Ÿ‘‹, I'm Luis!

I'm a full stack developer who likes to build useful things.

Work

See my resume for full details on my experience: https://docs.google.com/document/d/1lPXFFqeredk7Ko9JmhgtSPnF6o8DTVzVrIA6PO9CMf8/edit?usp=sharing

I built Mood Industries, a music discovery app that served underground music to 1000s of people, was a full-stack developer at Workiva, led a team at Dovly to build an app with a unique approach to help people supercharge their credit score.

I also love playing guitar, latin dancing, and cooking.

mood_mobile's People

Stargazers

 avatar

Watchers

 avatar

mood_mobile's Issues

Fastlane Integration

Research and implement the integration of Fastlane into our existing code architecture. Fastlane should be separate from the rest of the app, so there shouldn't be any overlap with the code restructuring. Look at the link in ticket #18 for some suggestions on how to lay out the Fastlane directory

Refactor Splash Screen

Refactor the splash screen workflow to implement nested navigators, a la this guide

The Splash screen handles important setup tasks, including verifying that there is an internet connection and triggering the initial data requests. Based on the results of these actions, it will either send the user into the main app page or to an error page.

This will get you pretty deep into the navigation system, so I'd recommend reading their 'Getting Started' guide here

Error: Redefinition of RCTMethodInfo

Issue

For some reason the project has an odd Xcode dependency error when first set up. It seems to involve some improper imports.

Solution

Run a global search and replace to change

#import "RCTBridgeModule.h"

to

#import <React/RCTBridgeModule.h>

Incorrect drop shadow on album art

NOTE: This is not a pressing issue. No one will notice. This is to make Wil happy.

Describe the bug
The drop shadow on album art in the playscreen does not match the design spec.

It needs to be a lot bigger and softer

Screenshots
https://files.slack.com/files-pri/T3V0CNC2Z-FF1BDCTEU/capture.png

Note that the shadow dimensions shown in the screenshot do not map directly to React-Native values. You will need to tweak the shadow styling until it looks right

Sharing doesn't work as expected

Describe the bug
Clicking share link loads songs for the mood of the song that was shared, but doesn't load the actual song.

To Reproduce
Steps to reproduce the behavior:

  1. Tap a mood tile
  2. Tap share button
  3. Copy link
  4. Send to yourself
  5. Click link

Expected behavior
Clicking the shared link should load song that was shared

#40 Current Track causes a lot of unnecessary re-calculations

Refactoring Description

currentTrack is calculated in Player component's render method, then passed down to all child components

This is really bad. For example, currentTrack gets re-calculated every time the play/pause button is pressed.

Also, i'm pretty sure it causes a unhandled promise rejection when trying to skip backwards at the beginning of a song queue. This keeps the simulator from playing songs, but I haven't seen an effect on physical devices yet.

The code that calculates currentTrack even has a comment that says

// This is gross, I promise I'll fix it

Making an issue for it so we don't forget to fix it soon.

Desired Changes

currentTrack should not be calculated in the Player component's render() method.

Calculate currentTrack more efficiently, or replace it with currentTrackId.

If doing currentTrackId approach, then every component that needs currentTrack info would just access queue[currentTrackId].

Components Affected

Player.js
PlayScreen.js
other components that need currentTrack info

0.5.0 Master List

This is a running list of tasks that will be broken into multiple tickets for the 0.5.0 version release. This isn't a final list, and some items may be removed, but when this ticket is closed the version will be released.

  • Fastlane deployment/versioning #19
  • Redux restructuring (ducks layout) #24
    • Axios client middleware
  • File restructuring #18
  • Navigation restructuring #20
    • De-reduxify navigation
  • Refactor splash screen flow #21

Add album info overlay

Add an info overlay to album art in the media player. Should display information about the artist/album/track. Talk to Wil about it

Media Player

Features:

  • Scrub using progress slider #2
  • Album/track info overlay #3
  • Smooth album skip animation #4
  • Play music from a provided setlist #5
  • Add functionality to repeat, shuffle buttons #8

Redux Refactor

Refactoring Description

Refactor the structure of the Redux code using the Ducks layout. Improve readability and code logic, and hopefully cut down on the amound of code in the app.

Components Affected

All components are affected, with a heavy focus on the media player and root component.

#37 Timebar Scrubbing Broken

Describe the bug
Time bar is broken on current develop branch. Scrubbing back and forth only works on first try. Trying to scrub a second time won't work

The styling overhaul conflicted with the 'absolute' positioning of certain time bar components

To Reproduce
Steps to reproduce the behavior:

  1. Checkout develop branch.
  2. Click on mood tile
  3. Scrub with timebar once (backwards or forwards).
  4. Attempt to scrub again. It won't work.

Expected behavior
Timebar should scrub back and forth reliably at all times

File Restructuring

Restructure the file system in the app to be more scalable and clean. Potentially use a variant of this layout, which I've found to be pretty good.

Add setlist ability

Give the Media Player component the ability to load a setlist as a prop from a parent component

Create a common <Header> component

Refactoring Description

Refactor headers from EventsScreen, LeaderboardScreen, MoodScreen, and SettingsScreen into a common header component

Will make design updates and creating new screens much faster

Components Affected

  • LeaderboardScreen
  • EventsScreen
  • MoodScreen
  • SettingsScreen

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.