Find more Network And System Administration Remote Jobs posted recently Worldwide

Required Elixir,Erlang,Phoenix,React Native freelancer for Call for App Development Proposal - membership service job

Posted at - May 2, 2020

Toogit Instant Connect Enabled


We are developing a Smartphone App that enables members to connect and communicate with each other. The App is composed of several parts that will be extended and replaced as the service evolves.

React Native
The first version of the Smartphone App will be implemented in React. A design system will be made using React Native and sculpted by designers running as react-native-web. The components must be able to run in production mode in the real app and in design mode under react-native-web.

The App will be written to run against a Client-Server API that is loaded from a server in the form a JavaScript file, so the App can be developed without the real server. The main developer skills needed are React, React Native, Interaction & Usability.

The App will support a small set of custom elements for interactive functionality.
With time the elements supported will be expanded.

Elixir / Phoenix
The server-side is based on the Phoenix Framework, but may over time migrate to a more custom setup based on Cowboy and Plugs. The deployment is done as an Elixir cluster and assets are pushed to CDN.

The primary role of the Phoenix server is to redirect to the latest bundle for a stream,
receive stream submissions, receive new asset recordings and to provide WebSockets for stream notifications.

Server Driven PubSub
The behaviour of the App is driven by content loaded from the server just like the Web. In fact the App renders HTML with custom elements. The App subscribes to a single personal stream of content from the server which determines the content and behaviour of the App. The App will fetch updates from the server at a regular interval(I.E. 10 sec) while connected to the Internet.

Changes in the app to profiles, settings, likes, connections, posts, votes, and chat entries are all sent to the server as form submissions(submit) and eventually applied to the personal stream resulting in an update of what is shown in the App.

The App doesn't implement the logical details of the communication with the Server but rather finds a server and fetches the JavaScript implementation for communicating with that server. The App and the script have a common interface for exchanging updates the streams and assets and making submissions.

Real Time Chat
The server can provide a streaming script that uses WebSocket and WebRTC APIs in addition to
plain HTTPS communication. Web socket connection is used to trigger stream updates as they arrive rather than potentially delayed by slow polling. WebRTC is expected to be used to provide a richer Chat experience. The details are not yet planned.

AppStore releases
The Smartphone App will be released on the Android & Apple AppStore in China & Hong Kong on
a regular schedule. Rollouts are done to support new core features long before they are widely used by normal users. The App is improved technically on an ongoing basis with fixes and technical/UI feature support.

Erlang OTP Beam Deployment
The cluster includes a server dedicated to building deployment bundles with edeliver. The server schedules builds automatically creating distribution bundles for the cluster that can be deployed trivially with a single command.

A CI is set up to build and test Native Client and JavaScript code before building and bundling the OTP release. Builds do not change the Git history beyond tagging commits with the outcome.

Questions for the development partner
How have you successfully deployed Erlang in production and what did you learn from it?
What are the most important preparations to keep an Erlang deployment running 24/7? What people are needed on the call?
Do you know of a great React Native codebase, containing all relevant pieces in a single repository, to emulate?
Do you prefer to be involved on a project basis or ongoing?
List the parts of software development that you love and hate as an organisation?
Would you be able to help us build a real operations handbook for our deployed cluster?
What experience do you have with dynamic theming of React Native applications?
Which are your top 10 React Native components based on working with them for rich content such as, picture upload, audio recording, HTML, galleries, surveys, chat?
Do you have library preference for dynamic client-side templating in React Native against a domain model?
Do you have a library preference for caching assets and bundles in a React Native App?
Have you previously interfaced with S3 in Elixir? Have you set up replication between clusters?
What would you make your first delivery contain and how much time would you want to have
to produce it in calendar time?
What roles do you have on your development team?

About the recuiterMember since Mar 14, 2020 Manjunatha K
from Suffolk, United Kingdom

Skills & Expertise Required

Elixir Erlang Phoenix React Native 

Candidate shortlisted and hiredHiring open till - Feb 26, 2021

Work from Anywhere
40 hrs / week
Hourly Type
Remote Job
$19.48
Cost

Looking for help? Checkout our video tutorial
How to search and apply for jobs

How to apply? Do you have more questions about the Job?
See frequently asked questions


Apply on more work from home jobs posted in Network And System Administration category.