Git Product home page Git Product logo

holidaily's People

Contributors

asgalecki avatar bemog avatar danielmark0116 avatar iceu-bb avatar jakex7 avatar jan-kozinski avatar jarmy123 avatar kacper-mikolajczak avatar lukbar48 avatar mateki0 avatar mjaskowska avatar monika1127 avatar okelm avatar pierre275 avatar skhyr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

holidaily's Issues

BUG | Input text alignment

Severity: Minor
Priority: Medium
Description of an issue: text in Input is not vertically centered
How it should work: text should be vertically centered
Platform: iOS
Device: simulator

Nagranie.z.ekranu.2021-06-1.o.16.36.05.mov

MOBILE | Create reusable `Modal` component

As a user I want to have some information presented in form of a modal

UI in figma

  • create reusable Modal component
  • component should take visible props along with toggle func prop to trigger its visibility
  • modal should have the opaque backdrop
  • *you can animate the modal on mounting and unmounting (fade in or slide in like transitions)

You can base it either on regular RN Modal, ro Modal component from react-native-community. There is also one from react-native-paper.

Note that when using RN or react-native-community modal, the gesture handlers from react-native-gesture-handler will probably not work on Android (unless it has changed since last months, there is one HOC function that can be imported from gesture-handler library, but I could not make it work myself in the project this way :no-evil:) and we would have to use some kind of Portal from e.g. react-native-paper to fix it.

MOBILE | User Context

Please create the global user context, where user data from me/login/signup endpoint is kept.
Please use context pattern from hooks museum.

FEATURE | User profile - Add profile picture

As a user I want to add my profile picture.

In order to do so, after clicking the profile placeholder or a text button "Add profile picture", I want to have the ability to take a selfie in the app or choose a photo from the phone gallery.

The modal should slide from the bottom of the screen with an ease out effect, 300 ms.

  • After clicking on the "Take a selfie" text button and icon, I want to launch my camera and take a selfie

  • After clicking "Choose from gallery" text button and icon, I want to go to my phone gallery.

MOBILE | Set up Absolute Path Imports

Setup absolute paths for the main folders of the project.

For example instead of this:

import x from "../../../utils/changeLanguage.ts"

we should be able to import things like this:

import x from "Utils/changeLanguage.ts"

MOBILE | Test

As a user I want to be able to login to the app while also creating the organization. All in one form

  • This and this is mandatory
  • clicking

MOBILE | iOS | Fix i18n setup for iOS

When firing up the app on iOS, the i18n outputs errors and app does not work

It seems to be cause by

const locale =
  Platform.OS === 'ios'
    ? NativeModules.SetttingManager.settings.AppleLocale
    : NativeModules.I18nManager.localeIdentifier

in i18n.js

Zrzut ekranu 2021-04-9 o 16 19 06

Ti fix it, I guess we need to come up with another way of telling the locale for iOS :)

MOBILE | Log in button

As an already registered user, I want to log in to my account one more time (after uninstalling the app or changing the device).

I want to accomplish this by clicking the "Log in" button on the first screen after onboarding.

Figma-Holidaily

BUGFIX | Inputs

  • As a user, I want to distinguish which input is focused as I type my personal data.

In order to do so, please add a black (inside) stroke (2 px) in a focused input state, as shown below:
https://www.figma.com/file/LrAhsnwm7ZdUQPnKfjxfjz/Holidaily?node-id=16%3A323

  • Error input state: please change the distance between the input and an error text for 4 px.

  • Password input: please change the visibility icon to the "eye-closed" in the default state.

As shown below:
https://www.figma.com/file/LrAhsnwm7ZdUQPnKfjxfjz/Holidaily?node-id=110%3A2

MOBILE | Implement firebase

In order to use push notifications in the future in a less complicated manner (from BE and mobile perspective as well) let's use firebase cloud messaging.

In order to do so, we need to:

  • create firebase dev project
  • create firebase staging project
  • create firebase prod project
  • install necessary library and set up the mobile app to connect with firebase project based on the current environment

FEATURE | User profile - Edit profile

As a user I want to edit my profile.

In order to do so, after tapping on Edit Profile icon (as well as the text button) on the User Profile screen, I want to go to the Edit Profile screen.

FEATURE | User profile - Edit full name and role

As a user I want to edit my full name and a role in Edit Profile screen.

In order to do so, after tapping an input or an edit icon I want to write a different text.

After tapping, the input should also be active visually - this means a 2px black outline stroke inside the input.

If changes have been made, a CTA button should appear in order to save them.

After clicking the CTA button, a modal with an animated check button should slide in from the bottom of the screen, and slide back down after 3 sec. The user can close this modal faster by clicking check mark or swiping down.

FEATURE | Drawer

As a user I want to go to the user profile.

In order to do so, after swiping from left to right or clicking the user profile picture on the home screen, I want the user profile screen to appear.

The home screen, except for the profile picture, should move to the right side and get smaller.

The user profile screen should appear, as if it was hidden underneath the home screen. Please add a resizing animation (decreasing, when going from home screen to the user profile and increasing, when going from user profile to the home screen).

It would be nice if the profile picture would stay in the same position, "detached" from the home screen.

It should work similar to the one below:

Upload.from.GitHub.for.iOS.MOV

MOBILE | Setup linking with Universal and App Links

In order to synch the app with our Holidaily domain (and have an option to open the app with links) we need to:

  • create AASA file
  • create assetlinks.json file
  • setup iOS native code (Capabilities + URL Schemes)
  • setup Android (Intent filters)
  • setup linking in NavigationContainer in RN app
  • host AASA and assetlinks.json files at ./well-known at Holidaily domain

Initially, we need to sync only the account confirmation path and password reset path

MOBILE | Create login flow screens UI

As a user I want to be able to log in to the up.

In order to do so, I need to receive an invitation prior to the logging in or sign up as a organization first (will be implemented in the future)

MOBILE | Sign up form from the link

As a user, I want to create a user account after receiving a link.

In order to do so, after clicking the link I want the app to open (or inform me that I have to download it), and complete the sign-up form with a name, surname, and password.

My e-mail address is already on the sign-up screen.

MOBILE | Sign up form

As a user, I want to create a user account using an e-mail address.

In order to do so, I want to complete the sign-up form with an e-mail address, name and surname, company name, and password.

Each input has its own compulsory letters or special characters. If these are not entered, inputs should inform about an error.

Correct completing the form:

  • Name and company name with at least one word,
  • E-mail address input with @ and a domain,
  • Password input with at least one capital letter, one number, and one special character

Each error should appear, just after the input state is changing from "focus" into "filled".

FEATURE | Button animation (check mark)

After clicking the CTA button in the sign-up form, the button should change from a regular state to a tick in a circle

Below how it should work:

Animated-button.mp4

MOBILE | Circle Add Button

Zrzut ekranu 2021-04-27 o 09 25 18

As shown in wireframes, please add the circle "add" button.
Press on the button should open full screen modal from react-navigation v5 (stack navigator, mode="modal")

MOBILE | The user has to confirm an account

As a user I want to be able to confirm my account.

In order to do so, I want to receive an email after the sign up with a link to the activation.

Link should be synced with app (universal links/app links) and trigger the app open. It should also contain an activation token and email address in url params.

Inside the app, a proper loading screen should show. In the background, the mutation for account confirmation should be invoked, with the aforementioned token and email.

Flow (for now only happy path - user on mobile with app installed, we also should have a fallback solution on web, but web version is not in the scope for now)

  • user register along with creating an organization
  • user receives an email with activation link
  • user click activation link
  • app opens thanks to linking on an appropriate screen with a loader
  • in the background, the app gets the token from the URL and makes a request to the backend with it

FEATURE | Button animation

Buttons should animate from default to pressed state in 200 ms with ease out effect (starts quickly and decelerates). If the ease-out effect is too complicated or time-consuming then go linear.

Below how it should work:

CTA.button.mov
Secondary.button.mov

MOBILE | Handle user login

As a user I want to be able to log in to the app

First, UI has to be finished, task :#23
And probably also this as we want to handle the confirmation in-app #1

  • send requests to the backend to log in and receive back the access token
  • check if user is confirmed (has clicked the confirmation email sent via email)
  • let user in only when confirmed, if not, display appropriate info screen based on mockups
  • store access token in a secure storage (react-native-secure-storage library, do not use react-native-async-storage)

MOBILE | Env Variables

Please create a .env file for storing API keys and sensitive data.

As a result of this task, we have a .env file, which is not uploaded to Github.
Please put the server address there, as we use different for dev and prod.

Example content of .env file:
API_URL=https://api.example.org
API_TOKEN=abc123

Onboarding Slider

When we launch the app we should be presented by Intro Slider flow.

Slider flow consists of 4 screens. Each screen has dots that indicate position.
The slider should be animated by Reanimated2. We can navigate by swiping.

Below how it should work ๐Ÿ‘

Nagranie.z.ekranu.2021-03-15.o.11.21.10.mov

The inspiration comes from this video

FEATURE | User profile - Edit profile picture

As a user I want to change or delete my current profile picture.

In order to do so, after clicking on "Edit profile picture" text button, there should appear a modal with "Change profile picture" text button and icon and "Delete profile picture" text button and icon.

The modal should slide from the bottom of the screen with an ease out effect, 300 ms.

  • Changing Profile Picture
    After clicking on Change profile picture I want to have the ability to take a selfie or choose a photo from my gallery.

In order to do so, there should appear a modal with a text, "Take a selfie" text button and icon, and "Choose from gallery" text button and icon.

  • Deleting profile picture
    After clicking on Delete profile picture, there should appear a modal with "Are you sure..." text, and primary and secondary buttons.

After clicking "Yes", the CTA button should animate to a check mark.

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.