← Trabajos

Voter Fence

Presupuesto: $250.0 FIXED / ⭐ 4.99 (129) United States

javascript, node.js, reactive-programming

The structure was: One developer 10 days 10-hour workdays Node.js, React, and JavaScript Hosted through Render and your GoDaddy VPS Built as an added plugin/module inside your existing platform The basic system would allow administrators to create target areas using: State Street address ZIP code Latitude and longitude Radius around a location Potentially city, county, district, or precinct boundaries When canvassers or candidates are logged into one of your apps, the system could track whether they: Enter or leave a geofenced area Arrive at an assigned canvassing location Remain inside the assigned area Complete activity inside or outside their assigned turf Trigger an arrival, departure, or assignment notification We also discussed separating this from advertising-based geofencing. In 10 days, the realistic first version would focus on location targeting, field-team tracking, assignments, alerts, and reporting, rather than identifying anonymous people who searched for a candidate or product. Search-intent advertising would require outside advertising/data providers and a larger integration. The mobile user will be able to: Log in securely View assigned geofences View assignments in list and map form Start and end a work session Allow location access Receive entry and exit detection See whether they are inside or outside an assigned area Check in at a location Add a note to the assignment View recent activity Work through temporary connectivity interruptions Log out Day 1 — Planning, Accounts and Project Setup Backend and system planning Review the existing Node.js API, React admin panel, database, authentication system, Render services, and GoDaddy VPS. Decide whether the geofencing feature will be: A module inside the existing system A separate service connected through an API Define user roles: Super administrator Campaign administrator Candidate Field director Canvasser Viewer Finalize the first-release feature list. Create database schema and API documentation. Establish development, staging, and production environments. Mobile setup Create the React Native project. Configure Android and iOS application identifiers. Connect the mobile app to the existing authentication API. Configure environment variables. Establish Git repositories and branches. Create development builds for physical-device testing. Store setup Confirm access to: Apple Developer account App Store Connect Google Play Console Reserve the app name. Create the App Store Connect app record. Create the Google Play Console app record. Establish the bundle identifier and Android package name. Day 1 deliverable A running mobile shell, technical specification, database plan, API map, store records, and confirmed development environments. Day 2 — Database, Authentication and User Permissions Database tables Create or update tables for: Users Organizations Campaigns Teams Geofences Geofence assignments Work sessions Location events Entry events Exit events Check-ins Device registrations Notifications Audit logs Authentication Connect mobile login to the existing account system. Add refresh-token handling. Add secure device-token storage. Create password reset or connect the existing reset flow. Apply organization and campaign-level access restrictions. Prevent one campaign from seeing another campaign’s data. Add account deactivation and forced logout. Mobile screens Splash screen Login Forgot password Permission introduction Basic dashboard Logout Day 2 deliverable Users can log in, remain authenticated, view the correct organization, and access only features allowed by their role. Day 3 — Geofence Creation and Address Processing Admin features Build the geofence creation form with: Geofence name Campaign Address City State ZIP code Latitude Longitude Radius Description Active dates Active hours Assigned team Assigned users Active/inactive status Mapping and geocoding Convert addresses into latitude and longitude. Place a marker on the map. Draw a circular radius. Allow the administrator to move the marker. Recalculate coordinates after moving it. Validate radius limits. Save the geofence to the database. API routes Create geofence Read geofence Update geofence Delete or archive geofence List geofences Assign users Remove assignments Day 3 deliverable An administrator can create, preview, save, edit, activate, and assign a basic circular geofence. Day 4 — Mobile Map, Assignments and Work Sessions Mobile dashboard Create: Welcome area Current campaign Start-shift button End-shift button Assigned areas Recent activity Current location status Online/offline indicator Assignment screens List view Map view Assignment details Navigate-to-location button Start assignment Complete assignment Add note Manual check-in Work sessions Record: User Device Campaign Start time End time Starting coordinates Ending coordinates Assignment Session status Day 4 deliverable A logged-in user can start a work session, view assigned areas on a map, open an assignment, check in, and finish the session. Day 5 — Native Geofencing and Background Location Android Add foreground location permission. Add precise-location handling. Add background-location flow only where operationally necessary. Register geofences. Detect enter and exit transitions. Send transitions to the backend. Restore active assignments after restart where supported. Add foreground-service handling if the selected tracking approach requires it. Android provides native geofence transition support, but Google restricts background location to apps where it is central to the application’s core functionality. The developer must clearly explain that relationship in the app, privacy documents, permission flow, and Play Console declarations. On Android 11 and newer, users may need to grant “Allow all the time” location access through the app’s system settings rather than through the initial permission dialog. iOS Add “When in Use” permission. Add the appropriate background-location permission flow. Configure Core Location. Register region monitoring. Detect entry and exit events. Upload events to the server. Add visible user controls for starting and stopping field activity. Configure the required background-location capability and usage descriptions. Apple requires apps using background location updates to declare the location background mode and configure the location manager accordingly. Important design rule The app should not silently track users continuously. Location collection should be connected to a clearly visible work session, assignment, or operational purpose. Day 5 deliverable Physical Android and iPhone devices detect entry into and exit from assigned test areas and send those events to the server. Day 6 — Activity Tracking, Alerts and Offline Support Event processing Record entry time. Record exit time. Calculate duration inside the area. Prevent duplicate rapid-fire events. Mark events as automatic or manual. Attach the event to the correct work session. Record device accuracy and timestamp. Flag unusually inaccurate coordinates. Notifications Create notifications for: Entered assigned area Exited assigned area Assignment started Assignment completed User outside assigned territory Location permission disabled Shift left running too long Offline behavior Cache assigned geofences. Cache mobile events while offline. Queue check-ins and notes. Retry failed uploads. Prevent duplicate submissions. Show pending synchronization status. Synchronize when service returns. Day 6 deliverable Geofence activity is recorded reliably, users receive basic alerts, and temporary connection loss does not erase field activity. Day 7 — Administrative Tracking Dashboard and Reports Dashboard Add cards for: Active users Users currently inside assigned areas Users outside assigned areas Active geofences Entries today Exits today Completed assignments Missed assignments Users with location disabled Reporting Create filters for: Organization Campaign Team User Geofence State ZIP code Date range Entry or exit event Completed or incomplete assignment Report details Show: User Geofence Entry time Exit time Time inside Manual check-in Notes Last synchronized time Device platform Approximate accuracy Export CSV export Print-friendly view Basic campaign summary Day 7 deliverable Administrators can monitor field activity and produce a basic report by campaign, user, geofence, and date. Day 8 — Privacy, Security and Store Compliance Security Encrypt traffic with HTTPS. Validate all API requests. Add role-based authorization. Add rate limiting. Protect administrative endpoints. Remove sensitive information from application logs. Store only the minimum required location information. Add audit trails for administrative changes. Add account deletion or deletion-request workflow. Add data-retention settings. Required documents Prepare: Privacy Policy Terms of Use Location Data Disclosure Background Location Explanation Data Retention Policy Account Deletion Instructions Support page Contact page Permission explanation Before the system permission appears, the app should explain: What location is collected Why it is collected Whether it works in the background When tracking starts When tracking stops Who can view the information How long the information is retained Store compliance Complete: Apple App Privacy responses Google Data Safety section Google background-location declaration, when required Content rating Age rating App access instructions Review account information Export-compliance questions Advertising declaration Data-deletion information Apple reviews every submitted app version and allows developers to provide review notes and access information through App Store Connect. Day 8 deliverable The app has its privacy disclosures, security controls, permission explanation screens, support links, and initial store-compliance forms completed. Day 9 — Testing, Branding and Store Materials Functional testing Test on at least: Two physical iPhones Two physical Android devices Wi-Fi Cellular connection Temporary loss of service App open App in background Screen locked Location disabled Precise location disabled Battery-saver mode User logout Expired login session Geofence testing Test: Entry Exit Remaining inside Rapidly crossing the boundary Large radius Small radius Overlapping areas Reassigned area Deactivated area Offline entry and later synchronization Branding Prepare: Final app name App icon Splash screen Login logo Light and dark background compatibility Correct campaign or company branding Store listing Prepare: App title Subtitle or brief description Full description Keywords Category Support contact Privacy-policy link Support link Phone screenshots Tablet screenshots where applicable Promotional graphic for Google Play Review notes Demo account Beta distribution Upload iOS build to TestFlight. Upload Android build to internal testing. Invite internal testers. Correct crashes and blocking defects. Apple provides TestFlight for internal and external beta testing before App Store release. Day 9 deliverable A branded release candidate is available to testers through TestFlight and Google Play internal testing. Day 10 — Final Corrections and Store Submission Morning Review crash reports. Correct high-priority defects. Verify production API URLs. Verify push-notification credentials. Verify map and geocoding credentials. Test account creation and login. Confirm privacy-policy links. Confirm demo account. Confirm location-permission language. Confirm app version and build numbers. Apple submission Upload the final production build. Attach screenshots. Complete App Privacy details. Add review notes. Explain that background location is used during authorized campaign field sessions. Supply a functioning reviewer login. Explain how to start a work session and test the geofence. Submit for App Review. Apple recommends using the review notes to explain the app’s concept, business model, location restrictions, and any information necessary for reviewers to test important features. Google submission Upload the signed Android App Bundle. Complete Data Safety. Complete background-location documentation. Complete app-access instructions. Add screenshots and promotional assets. Select countries and distribution. Complete content rating. Submit to the applicable testing or production track. Google requires developers to provide app-access instructions when reviewers need credentials or special steps to access protected features. Final handoff Provide: Source code Environment-variable list API documentation Database diagram Store credentials checklist Admin instructions Mobile user instructions Known limitations Backup and recovery instructions Post-launch defect list Day 10 deliverable The first version is complete, deployed to production infrastructure, available through beta testing, and submitted to Apple and Google where account eligibility permits. Recommended App Navigation Main menu Home My Assignments Map View List View Start or End Shift Check In Activity History Notifications Support Privacy and Location Settings Logout Persistent navigation Every authenticated screen should include: Back Home Back to Canvass User photo Notifications Logout The Back to Canvass menu can include: Map View List View Current Assignment Start Shift End Shift What Will Not Be Fully Completed in 10 Days The following should be treated as later phases: Anonymous advertising-device targeting Identifying people who searched for a candidate or product Programmatic advertising integrations Polygon drawing for complex political districts Automatic precinct-boundary imports Heat maps Route optimization Predictive targeting Full payroll and mileage reimbursement Continuous live tracking every few seconds Advanced location spoofing detection White-label versions for multiple clients Separate candidate-branded apps Apple Watch application Full iPad-specific interface Realistic Release Timeline Stage Target Development and internal testing 10 working days TestFlight and Google internal testing Day 9–10 Store submission Day 10 Google production release After review and any required testing period Apple production release After App Review approval Post-review corrections Approximately 1–5 additional working days if rejected The safest public commitment is: The geofencing application will be developed, tested and submitted within 10 working days. Final Apple App Store and Google Play availability is subject to each platform’s independent review and testing requirements. I will also attach the app screens for each slide page use the pattern i have provided or ask me to create them for you slides not here ssl privacy terms of use cookies website disclaimer app disclaimer there maybe other slides you may need
Abrir en Upwork