Inspiration

What Inspired Us

Traditional GIS systems are either too complex for business users or lack proper integration with modern database platforms. We were inspired to bridge this gap by creating a comprehensive web GIS solution that seamlessly integrates with Teable.io, providing enterprise-grade features with user-friendly interfaces especually targeted to relaestae developes in india .

we did not want to give complex postges database , insted a visual table with teable.io helps everyone to manage data, we see huge poetntial in land based realestee developers in india who dont generally use excel, pdf and ledgers to map and manage their inventory

What We Learned

  • Mixed Authentication Patterns: Implementing dual authentication supporting both Teable.io space owners and internal app users
  • Real-time Data Synchronization: Bidirectional sync between Teable.io spaces and local user management
  • Advanced Permission Systems: Field-level permissions with role hierarchy (Owner → Admin → Editor → Commenter → Viewer)
  • Spatial Data Processing: WKT geometry parsing and rendering with Leaflet.js
  • Enterprise Audit Trails: Comprehensive logging of all data changes and user activities

How We Built It

Architecture

  • Frontend: Vanilla JavaScript with modern ES6+ features, Bootstrap 5 for UI components
  • Authentication: Mixed system supporting Teable.io API tokens and internal user management
  • Data Layer: Direct integration with Teable.io REST API for real-time data access
  • Mapping Engine: Leaflet.js with advanced plugins for clustering, drawing, and measurements

Key Features Implemented

  1. Super Admin Configuration: Multi-client setup with connection testing
  2. Mixed Authentication: Space owners and app users with role-based access
  3. Advanced Map Interface: Professional GIS tools with layer properties, styling, and labeling
  4. Field-Level Permissions: Granular access control based on Teable.io roles
  5. Public Map Sharing: Configurable public maps with permission controls
  6. Data Management: Professional table view with inline editing and filtering
  7. Comprehensive Logging: Complete audit trail of all system activities
  8. User Synchronization: Automatic sync between Teable.io space and local users

Technical Implementation

  • API Integration: Custom wrapper for Teable.io REST API with error handling
  • Permission Engine: Role hierarchy enforcement with field-level granularity
  • Spatial Processing: WKT geometry parsing supporting POLYGON, MULTIPOLYGON, POINT formats
  • Real-time Updates: Live data synchronization with conflict resolution
  • Responsive Design: Mobile-first approach with professional UI/UX

Challenges We Faced

1. Mixed Authentication Complexity

Implementing dual authentication patterns while maintaining security and user experience required careful session management and API token handling.

2. Teable.io API Limitations

Working with API constraints and implementing robust error handling for various edge cases in data synchronization.

3. Spatial Data Processing

Parsing and rendering complex WKT geometries while maintaining performance with large datasets.

4. Permission System Design

Creating a flexible yet secure field-level permission system that respects Teable.io's role hierarchy.

5. Real-time Synchronization

Ensuring data consistency between Teable.io spaces and local user management without conflicts.

Impact and Innovation

  • Enterprise Ready: Production-quality code with comprehensive error handling
  • Scalable Architecture: Modular design supporting multiple client configurations
  • Security First: Role-based permissions with audit trails
  • User Experience: Professional GIS interface accessible to non-technical users
  • Integration Excellence: Seamless Teable.io integration maintaining data sovereignty

Future Enhancements

  • Advanced spatial analysis tools
  • Mobile application companion
  • Real-time collaboration features
  • Enhanced visualization options
  • API marketplace integration how to work with system A Multi-User SaaS Web GIS Solution with Teable.io Integration ________________________________________
  • System Overview The Teable GIS System is a fully web-based, multi-user Geographic Information System (GIS) platform that integrates seamlessly with Teable.io as the backend. This system allows organizations to visualize, manage, and control access to spatial data in real-time, while leveraging Teable.io’s robust permission structures. The key highlight is field-level, user-specific permissions, allowing companies to control what each user can view or edit—both on the map and in the associated data table—making the system highly suitable for collaborative yet confidential data workflows. ________________________________________
  • Key Features • Teable.io Integration: Bi-directional sync of data between the GIS platform and Teable.io. • Multi-User Permissions: Supports role-based access (creator, editor, viewer) with field-level visibility and editing controls. • Public and Private Views: Customizable map view for public users while restricting sensitive data to authenticated users. • Real-Time Data Management: Dynamic updates across both the map and the table, reflecting the latest changes instantly. • User-Friendly Configuration: Super admins can configure backend connectivity, map settings, and user permissions through a clean web interface. ________________________________________
  • System Workflow (Step-by-Step) Step 1: Backend Setup in Teable.io • Log in to Teable.io. • Create a Space and add your dataset in a Base. • Ensure your dataset contains a geometry field (latitude/longitude or GeoJSON). • Retrieve and note down: Space ID = spclhAm6AQDLoUh3o0T

Base ID = bsefuZFC33uuCnVp1lB

Table ID = tblmFD3NsHlXrZSeqU7

API Key = teable_accOllIAWFe7jm9PWK5_gfl6gXebiOk90Pcjpr6WwzsH6N+wxcsbQmvMtslUnt8= Space owner email id - [email protected] Password-teable123 Step 2: Application Configuration • Open the config.html page. • Input the Space ID, Base ID, and API Key. • Save the configuration.


Step 3: Authentication • Log in using Teable.io space owner credentials. • Once authenticated, you gain super admin rights to: o Create application-specific users. o Assign role-based and field-level permissions. • User roles align with Teable.io’s native hierarchy: Creator, Editor, Viewer.


Step 4: User & Permission Management • In users.html, create and manage users. • In permissions.html, assign: o View-only fields o Editable fields o Hidden fields (invisible to selected users) • Permissions are synchronized with Teable.io, ensuring consistent access control.


Step 5: Public Map Customization • Use map-config.html to: o Select which layers are visible on the public map. o Configure the base map (e.g., street map, satellite). o Decide which tools (zoom, draw, measure, etc.) are available to the public.


Step 6: Multi-User Operation • Users can log in with their assigned credentials. • Each user sees only the fields and features they are authorized to access: o Editable fields are highlighted for quick identification. o Hidden fields are completely excluded from both the table and the map popups. • Editors can update permissible fields; changes sync bi-directionally with Teable.io. • Viewers have read-only access.


Step 7: Real-Time Visualization • The map.html provides an interactive GIS map with: o Real-time data visualization. o Attribute table fully synchronized with user permissions. • The public-map.html offers a public-facing map without login, showing only non-sensitive layers as configured.


Step 8: Audit Trail • All data changes are logged in logs.html for traceability. • The system records: o Who made the change o What field was changed o Previous and updated values

Built With

  • audit
  • bootstrap-5-?-mapping:-leaflet.js
  • comprehensive
  • css3
  • field-level
  • font-awesome-icons-?-build-tools:-vite
  • frontend:-javascript-(es6+)
  • html5
  • leaflet-draw
  • leaflet-markercluster-?-database-integration:-teable.io-rest-api-?-authentication:-mixed-authentication-system-(api-tokens-+-local-users)-?-ui-framework:-bootstrap-5
  • logging:
  • node.js-?-spatial-processing:-wkt-geometry-parsing-?-security:-role-based-access-control
  • permissions
  • trail
Share this project:

Updates

Submission history