- Create a HubSpot Developer Account: https://developers.hubspot.com
- Set up a test app with CRM access.
- Connect with HubSpot via API using their sandbox/test account or OAuth/private app API keys.
- Create 10 contacts in the HubSpot Contacts object.
- Each contact should have:
- Name
- Phone number
- Address (populate the default HubSpot address property)
- Check if a property named “Project Role” exists in the Contacts object.
- If not present, create a custom multiple select property named project_role with the following options:
- Contractor
- Home Owner
- Affiliate
- Referral Partner
- Community Partner
- Geo Tech
- Assign 1–2 roles to each contact.
- Ensure that:
- Some contacts have multiple roles (e.g., both Geo Tech and Home Owner).
- All roles are represented across your 10 contacts.
- Build a backend API using Node.js, Flask, Django, or any backend framework to:
- Fetch all contacts where project_role is not null.
- Return the following fields: Name, Email, Phone, Address, Project Role(s).
- Build a web interface using a frontend framework/library (React preferred) to:
- Display contacts on a map (Google Maps, Leaflet, or Mapbox).
- Use distinct icons for each project role.
Example: Contractors = Star, Geo Tech = Triangle, etc.
- If a contact has multiple roles, show multiple icons at the same location.
- Add a legend to explain what each icon represents.
- Implement UI functionality to: Filter and highlight contacts based on selected project roles and location (region/city/state).
- Suggest matches based on filters. Example: “You can contact Jane Doe in San Diego as a Geo Tech.”
This project is licensed under [Your License Here].