alexanderglueck / playground

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Playground

A playground where I play with different packages and Docker setups.

Ideas

  • Look into archtechx/tenancy
    • Experiment with the subdomain approach (see Slack)
  • Check out multi-stage builds
  • Optimize Dockerfile
    • Investigate opcache
    • Improve readability and image size
    • Provide production image (files bundled, container for web, container for queues, container for scheduler)
  • Research "correct" timezone handling
    • Store everything in UTC
    • Display in local timezone
    • Deal with local timezones (Send less important notifications only during 06:00 and 18:00 (local timezone))
  • L10n and i18n
  • Custom field handling
    • Support custom fields
    • Support adding custom fields in the application
    • Support removing custom fields in the application
  • Custom view handling
    • Support custom views (e.g. Customer: name, address / Company: company name, address, vat id)
    • Make it user manageable
    • Render custom views
    • Support custom visibility rules for fields (not everyone is allowed to see all fields)
  • Extract Docker components to a Composer package
  • Add invoice system
  • Experiment with Events (simple/recurring/exceptions)
    • Add column for recurrence end date (to filter out recurring events from the past)
  • Sharing center
    • A list where all shared resources are listed
    • List includes the date it was shared, and a way to remove the share
  • Command pallet
    • Search objects (contacts, contact groups, invoices)
    • Search for menu entries (New Invoice, Settings)
  • Features
    • Queued contact export
    • Queued contact import with preview form
    • Contact search
    • Multi contact modification (from search)
    • Modification history
    • Geocoding on contacts
    • Tasks
      • Task deadline in calendar
    • Comments
      • Contacts
      • Tasks
    • See who is currently viewing a page (Websockets (soketi))
    • User groups
      • Permissions on user groups
        • Groups on resource-parents (invoice groups are parents of invoices, contact groups are parents of contacts)
    • Notes
    • Initial implementation
    • Markdown support (CKEditor)
    • Calendar sync-able to Google Calendar (ics export)
    • Multiple calendar support (User can have multiple calendars)
    • Calendars can be shared with other users
    • Calendars can be shared publicly (should be visible in sharing center)
    • Show contact birthday in calendar
    • Change calendar starts at and ends at to datetime
    • User profile images
  • Widgets
  • Configurable webhook endpoints to send updates to other recipients (not set in stone)
  • PDF preview using pdf.js
  • Invoice PDFs using weasyprint (rudimentary support)
  • HTML to markdown conversion (for sanitization reasons)
  • Html sanitization (comments, notes) (symfony/html-sanitizer)
  • Notifications for actions (Queued export ready, User accepted an invitation)
  • Use meilisearch for facet search
  • Add npm to docker image
  • Team-User management
    • When deleting there must always be one team admin (also relevant for billing)
    • When deleting, use soft-delete on user and remove his profile picture (replace with letters from name)
    • Remove everything if the admin deletes the team
  • Billing
    • Add stripe support for customer invoices
    • Add paddle support for the system (tenants pay using paddle (easier for me))
    • Create a subdomain that handles payments of all tenants (payments., maybe directly on main domain)
    • Only user with create-subscriptions permission can update the subscriptions
    • Add check that always at least 1 user has the create-subscriptions permission
  • Pages
    • Add privacy policy
    • Add terms of service
      • Make revisionable
      • Inform users about terms of service changes
    • Add pricing pages
    • Add API documentation
    • Add help pages
    • Add faq pages
  • Subscription-plan checks
  • User impersonation
    • In-tenant
    • Cross tenant-for admins

Setup

Edit the .env file and enter your credentials php artisan migrate php artisan db:seed

About


Languages

Language:PHP 74.6%Language:Blade 23.3%Language:CSS 1.1%Language:JavaScript 0.6%Language:Dockerfile 0.5%