Skip to content

19 — Feature inventory

A "where does X live?" map for the major features. Useful for triaging incoming bugs, planning changes, and finding analogous features to copy from.

Pages are listed under pages/_accid/ (the authenticated, account-scoped tree) unless explicitly marked.

Authentication & onboarding surface

Feature Pages Components / store Backend
Login (email/password) pages/index.vue LoginModal.vue /webauthenticate, /me
Forgot password pages/forgot_password/, pages/reset/ /sendForgotPasswordResetLink
Password setup pages/password_setup/ (set via store actions)
Social login pages/socialAuth/, pages/callback/ /socialRegister, /linkedInRegister, /twitterRegister, /auth/tiktokRegister
MFA (inline) /sendMFA, /MFAauthenticate
Onboarding subjects_services/, Organisationprofile/, goals_objectives/, chaptername/, brandkit/, payment/ mixins/onboardingNavigation.js, store/onboarding.js /getonboardingtype, /auth/getOnboardingDetails, /auth/getCompanyData, …
Email verification pages/heartbeat, pages/special_offer/ /mailVerificationAccepted
Invitation acceptance invitation landing pages /AcceptOrRejectInvite, /getinvtokeninfo, /updateUserInvite

See 03-auth-and-sessions.md and 15-onboarding-flow.md.

Account, members, and team management

Feature Pages Components Backend
Account switching (inline in default layout) AccountSwitcher.vue /auth/getuaccounts, /addOrUpdateDefaultAccount
Members / team userSetting/ (member-list components in userSetting/) /userlist, /addOrUpdateAccountMembers, /UpdateAccountMembersactive
Invitations userSetting/ /getAllcreateInviteUserCorp, /addOrUpdateUserInvitationCorp, /DeleteInviteUsercorp
Owner profile userprofile/, Organisationprofile/ /auth/getaccountowner, /auth/getOwnerPersonalDetails
Account settings userSetting/ (settings components in userSetting/) /auth/getSetting, /auth/addOrUpdateSetting
Impersonation (admin-side; verify) impersonation banner in default.vue (admin-only endpoints)

See 12-permissions-and-roles.md.

Content planner

The product's primary surface.

Feature Pages Components Backend
Calendar view contentplanner/index.vue Calender/Calender.vue (FullCalendar wrapper), helpers/helper.js → calStatus /auth/getpost, /auth/getApprovedDates, /auth/getSchedulingStatus
Post detail / inline edit contentplanner/_id/_id/ editPostModal.vue, ContentEditModal.vue, updateSPostModal.vue /auth/userScheduleArticle, /auth/rescheduleArticle
Content approval (inline modal) approvalModal.vue /auth/approveSkeletonPost, /auth/approveBrandPositioning, /auth/approveObjective
Holiday/event posts (inline modal) HolidaySelectionModal.vue /auth/getEventposts, /auth/getALLEventposts, /auth/scheduleEventposts
Bulk actions (inline modal) BulkActionsModal.vue (multiple)
Reschedule (inline modal) Reschedulearticlemodal.vue, ScheduleArticleModal.vue /auth/rescheduleArticle
Post status (inline) helpers/helper.js → renderPostStatus, calStatus (status comes from backend)

See 13-post-lifecycle.md.

Editors (Polotno-backed)

Editor variant Pages Notes
Post editor posteditor/_id/ Standard image post.
Carousel editor carouseleditor/_id/ (and legacy carouselcpeditor, carouseleditor1) Multi-image Instagram-style carousel.
User-media editor usereditor/_id/, usermediaditor/_id/ User-uploaded media editor.
Custom editor cuseditor/_id/ Custom-content editor variant.
Shared post editor sharedposteditor/_id/ For posts shared from another user.
Template editor templateeditor/ Editing reusable templates rather than posts.
Generic editor pages/editor/_id/ Legacy non-_accid variant.

All variants import { createEditor } from '../../../../polotno-bundle' and mount into a <div id="polotno">. See 06-polotno-integration.md.

Content creation

Feature Pages / surfaces Components Backend
Create content (inline modal) createContentModal.vue, CarouselPostModal.vue, brandPostModal.vue /addOrUpdateContent
AI text generation (inside editor and inline) (in polotno-editor/aiContent/) Gemini, Vertex AI
AI image generation (inside editor) (in polotno-editor/aiImage.js) Stability AI, Leonardo AI
Reel ideas (inline modal) ReelIdeasModal.vue /auth/getAllReelIdeasFolder, /uploadReelVideo
Topic suggestion topics/ ContentIdeas/ /generate-topics-suggestion, /auth/getRecommendedTopics
Video preview (inline modal) VideoModal.vue, PreviewModal.vue
File upload (inline modal) UploadModal.vue (FilePond) /auth/uploadAccountsAssets, /uploadCsvFile, /auth/uploadLogo

Library, designs, and templates

Feature Pages Components Backend
My library my_library/ libraryModal.vue /auth/getAllLibrary, /auth/getMyLibraryPost/<page>
My designs my_designs/ (design-listing endpoints)
My articles (inline) MyArticles* components /auth/getMyListPosts
Folders (inline) NewFolderModal.vue, ArchiveModal.vue /addOrUpdateUserFolder, /archiveContentFolder
Shared images / templates (inline) (in library/folder UI) /auth/getAllSharedImages, /auth/getAllSharedFolderImages, /auth/getAllSharedFolderTemps

Brand kit

Feature Pages Components Backend
Brand kit brandkit/ tempBrandModal.vue, tempSetModal.vue /auth/getLogo, /auth/uploadLogo, /auth/savecolorset, /auth/saveFont, /auth/brandTemplateSet
Brand positioning (inside brand kit / onboarding) (inline) /auth/getBrandPositioning, /auth/getAiBrandPositioning, /auth/approveBrandPositioning
Organisation profile Organisationprofile/ (inline) /auth/getCompanyData, /auth/AICompanyData, /process-organization-profile
Subjects & services subjects_services/ (inline) /auth/getRecommendedTopics, /auth/chooseRecomSubject
Goals & objectives goals_objectives/ (inline) /getGoalsObjects, /auth/getAiObjective, /auth/approveObjective
Chapter (BNI) chaptername/ (inline) /generate-chapter-profile, /update-chapter-profile, /auth/approveChapterData

Social account management

Feature Pages Components Backend
Connect social accounts social_accounts/, userSetting/#social_media_accounts (inline) /sociallink, /auth/sociallinkstatus, /socialreconnect
Provider tokens (background) /tokenRefresh, /auth/socialAccountStatus

See 08-integrations.md → Social network providers.

Dashboards & analytics

Sub-section Pages Components Backend
Overview dashboard/overview/ Dashboard/NewDashboard.vue, OldDashboard.vue, Dashboard/charts/ (dashboard-data endpoints; verify)
ROI dashboard/roi/ Dashboard/roi/ (ROI endpoints)
Reach dashboard/reach/ Dashboard/reach/ store/reach/
Leaderboard dashboard/leaderboard/ Dashboard/leaderboard/ store/leaderboard/
Hashtag analytics dashboard/hashtag-analytics/ Dashboard/hashtaganalytics/ (hashtag endpoints)
Action items dashboard/action-items/ (action-item endpoints)

The Charts/ component subdirectory has the chart wrappers (LineChart.vue, PieChart.vue, ChartLegendItem.vue).

Billing

Feature Pages Components Backend
Plan selection plan/, payment/, billing/ (inline) (plan endpoints + helpers/helper.js → getPlanList)
Stripe checkout (inline) paymentModal.vue /auth/createpaymentintent + Stripe.js
Paddle checkout (inline) (Paddle inline) /auth/getPaddleSubData, /auth/paddleManagementUrl
Billing info billing/ (inline) /auth/getBillingInfo, /auth/addOrUpdateUserBillingInfo
Subscription state (background) /auth/getSubscriptions (cached via api/fetchSubscription)
Affiliate (background) /auth/impact-conversion, /auth/cancel-impact-conversion, FirstPromoter (fpr)

Network features

Feature Pages Components Notes
Someli Network pages/someli_network/ VueNetworkIdentify.vue, related components Layout: someliNetwork.vue. Verify product scope with the team.
Circle Network (integrated into content planner) CircleNetworkModal.vue, helpers/circleNetworkHelper.js, services/circleNetworkService.js, plugins/circleNetwork.js Distinct from Someli Network. Verify with the team.

Communication / chat

Feature Pages Components Backend
Chat (in-app) (inline) chatModal.vue, Chatbot.vue /getMemberschatMessages, /addOrUpdateConversation
Chaskiq support widget (background) (registered globally) Chaskiq SDK. Currently commented out in head.jsverify if active.
CRM webhook (background) CRM_webhook_urlverify

Settings & user pages

Feature Pages Notes
User settings userSetting/ Multi-tab: profile, social media accounts, members, billing, etc. Reads accountdetails cookie heavily.
Change password change_password/
Categories categories/ /getCategories, /addupdateCategories
Topics / industry news topics/, industry_news/ /auth/getRecommendedTopics, industry-news endpoints
Help center help_center/

Public / marketing surface

Feature Pages Layout
Landing / login pages/index.vue (default for the page)
Privacy policy pages/privacy/ fourOhOne or default
Terms pages/terms_and_conditions.vue fourOhOne
Special offer pages/special_offer/ specialOffer
Corporate offer pages/corporate_offer/ specialOffer
FB deletion status pages/fbDeletionStatus/ (Facebook compliance: data-deletion request status page)
Pay (legacy) pages/pay.vue (legacy; auth: false)

Shared chrome / utility components

Component Purpose
Sidebars/ Sidebars used in different layouts
Cards/ Reusable card components
Buttons/ Reusable button variants
ColorSelect/ Colour pickers
Layout/ Section containers (EaMainSection.vue)
Sidebar/ Inner sidebar pieces
BookCallDropdown.vue Sales / book-a-call CTA dropdown
Chatbot.vue Chatbot widget
ContextMenu.vue Right-click context menu
ExplorerContent.vue Generic explorer / drill-down browser

Where to start when triaging

When a bug arrives:

  1. Identify the surface in the screenshot or URL. Map URL → page path under pages/_accid/.
  2. Find the matching row in this doc. That gives you the components and backend endpoints.
  3. Check the Vuex module for the feature (look in store/<feature>/ or store/api.js).
  4. Reproduce locally, then read the Network tab to identify which endpoint fired.
  5. If the issue is in helpers/helper.js, the bug usually shows up across many surfaces simultaneously — see 13-post-lifecycle.md and 17-helpers.md.

When building a new feature:

  1. Find the closest analogue in this doc.
  2. Copy its structure (page → component → modal → store action → endpoint).
  3. Add the new endpoint to 14-api-catalog.md.
  4. Add the new feature to this doc so the next person can find it.