JavaScript + Swift Developer for simple app exploration!

Remote Full-time
Ok, so the description is long as we wanted to be clear. But we promise, this is an easy one if you are a Swift developer with some JavaScript experience or viceversa, it should only take one or two days.
We want to sketch an application that regularly fetches information from remote services to be used within a Swift application. The system will use JavaScript to interact with the remote... services and send the responses back to Swift for rendering. The primary goal is to figure out how to implement a modular and flexible architecture that can easily accommodate new services. So although this sketch will just be fetching information from one service, the goal is taken from here we can create more JavaScript modules to add more services.
The services will represent remote machines information (like computers with IPs, etc…). The JavaScript code should have two functions that can be called from outside: “is_valid” and “fetch”. Both functions in the service will require specific authentication details provided through a ServiceConfiguration object (like tokens, user, etc…), that you will define as you need. For this initial script, we will only implement as service the Tailscale API, and in particular just a single method: https://github.com/tailscale/tailscale/blob/main/api.md#list-tailnet-devices
IMPLEMENTATION DETAILS
• *JavaScript Side**:
• Implement an abstracted service layer with generic "is_valid" and "fetch" functions.
• Ensure the service layer can handle different services by providing a mechanism for service-specific implementations.
• Develop service-specific implementations for Tailscale, adhering to the common interface provided by the abstracted service layer.
• Utilize provided authentication tokens/user details from the ServiceConfiguration object.
• Make request to the external service using the standard JavaScript’s `fetch` function preferably.
• Model resources based on the data received from the services and return them to the Swift side.
• *Swift Side**:
• Integrate the abstracted JavaScript service layer into the Swift application using the JavascriptCore framework (JSContext, evaluateJavascript, etc…).
• Implement UI elements (e.g., buttons) to trigger the JavaScript functions based on the selected service.
• Display the returned objects/resources in rows for validation and proof of functionality.
Tailscale:
• Resources: Devices connected to the user’s tailnet (network).
• ServiceConfiguration for authentication: Tailscale tokens and probably the tailnet name.
• Device information: For each device, should return at least “addresses”, “id”, “nodeId”, “name”, “hostname”, “created” and “lastSeen”.
DELIVERABLES
This is a simple sketch for an application. We do not require testing or a fancy UI. The application should be compatible with both simulators and devices. Additionally, the corresponding JavaScript code, which provides the abstraction layer for service interaction, should be included. The JavaScript code should be structured to handle different services, such as Tailscale, and should provide the "is_valid" and "fetch" functions as per the project requirements. The application should demonstrate the ability to validate service configurations and fetch resources from the selected service, displaying them appropriately in the UI

Apply Now
Apply Now

Similar Opportunities

Experienced Registered Behavior Technician for In-Home ABA Therapy - Atlanta, GA

Remote Full-time

Immediate Hiring: Experienced Registered Behavioral Technician (RBT) for Clinic-Based ABA Therapy Services

Remote Full-time

Experienced Registered Behavioral Technician (RBT) - ABA Therapy for Children with Autism Spectrum Disorder

Remote Full-time

Experienced Registered Nurse - Telehealth: Providing Remote Care Coordination and Patient Support

Remote Full-time

Experienced Substitute Teacher for Riverside County Schools - Join Scoot Education's Innovative Team

Remote Full-time

Experienced Substitute Teacher for San Bernardino County - Flexible Schedules & Competitive Pay

Remote Full-time

Experienced School Year Instructional Coach for High-Dosage Tutoring Programs in Edgewater Park, NJ

Remote Full-time

Experienced School Year Tutor for K-8 Students in Math and Literacy - Mickleton, NJ

Remote Full-time

Experienced Secondary Social Studies Teacher for Kansas - Flexible Hybrid Remote Arrangement

Remote Full-time

USPS Office Helper

Remote Full-time

Wells Fargo Securities Jobs $26/Hour

Remote Full-time

Amazon Flex Amazon Delivery Driver ? Flexible Shifts ? Earn $15.50 ? $19.50/hr

Remote Full-time

Experienced Remote Data Entry and Enterprise Data Strategy Professional – Driving Business Growth through Innovative Data Solutions at arenaflex

Remote Full-time

Software Engineer

Remote Full-time

Wayfair Jobs Review Customer Service $25Hr

Remote Full-time

Strategic Advisor – IOP & Behavioral Health Programs (Part-Time | Remote)

Remote Full-time

Wayfair Part Time Jobs $26Hr

Remote Full-time

Marketing Manager - Customer Experience Design Manager- Remote

Remote Full-time

Experienced Data Entry Operator for Accurate Information Management and Database Maintenance at blithequark

Remote Full-time

Team Lead, Doordash for Business - LiveOps

Remote Full-time
← Back to Home