Salesforce app for managing Trailblazer Community Groups.
First up, let's be clear, this is a work-in-progress project.
I'm also going to be using it to hopefully be the basis of blog articles/talks on how an app on Salesforce can be built. A case-study if you will. I'll be trying to use this README (or potentially other pages) to document the journey also.
- 2GP Support
- OSS
- CI/CD
- No real data to be stored in git repo
- Backup/restore support
Initial MVP features will be those included in the first packaged (unlocked or managed, I'm usure which yet). These features will generally be the ones that I personally believe will (mostly) meet with parity of the current non-SF tools I use in organising our TCG (Trailblazer Community Group)
- Track planning and execution of events
- Presentations
- Speakers
- Sponsorss
- Recording links
- Store (potential) sponsors details 1.Track prizes
- Event listing and stage (kanban)
- Calendar View
- Show entries/clashes from google calendars / Trailblazer Community / Salesforce events
- Sponsor Management
- Last time sponsored
- Notes on venue
- Contacts
- Sponsored amounts / prizes
- Opps
- Talks
- Potential
- Tags / Topics
- Last time a topic was spoken about
- Task mangement (e.g publish event, confirm speakers, etc)
- Dashboard
- Members
- Bevy
- YouTube
- TCG
- Chatter
- Next event(s) status
- Members
- Quiz Integration
- Backup / Restore
- Speakers
- Basic details etc
- Track prizes
- Cert vouchers etc
- Knowledge
- Email to case?
- Bevy Integration
- Crawl?
- Event
- Import / Read
- Check-ins
- Mobile App
- Check-ins
- For organisers
- For Community
- Slack integration
- Quip Integration
- Support for Community Conferences as well
- Git Actions
- Create/Version diagrams when version released
- The IFK__c field above is used as an external ID - used by the data impoty/export plugin I've written
- Success Group Link
- Bevy Link
- YouTube Link
- Twitter Handle
- Twitter hashtag
- Calendar Feeds - for list calendar feeds (e.g. google calendar) to display in the calendar
- Not concerned with custom object limits
- App will be run in a pretty much standard Developer edition org.
To work on this project in a scratch org:
- Set up CumulusCI
- Clone this project and move to its directory.
- Run
cci flow run dev_org --org dev
to deploy this project. - Run
cci org browser dev
to open the org in your browser.
This project uses PlantUML for it's diagram generation from src. In VS Code I have been using this extension with the following workspace settings
{
"plantuml.diagramsRoot": "docs/diagrams/src/",
"plantuml.exportOutDir": "docs/diagrams/",
"plantuml.exportSubFolder": false
}
- Which devhub should/can be used for a project like this?
- Formulated initial ERD - note the one above is the latest erd - and although all the diagrams are written using plant UML - and therefore version controlled - I've decided to keep a copy of minor iteration of ERD in github to enable easier visibility.
- Initial project creation
- Decided to use Cumulus CI following chats with their community and research. Some thoughts on this;
- CCI supports SFDX priniciples
- 2GP (required for this project) although not supported (at the time of writing) by CCI, you can package up 2GP projects manually using the standard SFDX CLI commands,