Skip to content
Snippets Groups Projects
  1. Nov 24, 2020
  2. Nov 13, 2020
  3. Nov 09, 2020
  4. Nov 05, 2020
  5. Nov 04, 2020
  6. Nov 03, 2020
  7. Nov 02, 2020
  8. Oct 29, 2020
  9. Oct 26, 2020
  10. Oct 22, 2020
  11. Oct 21, 2020
  12. Oct 20, 2020
  13. Oct 19, 2020
  14. Oct 16, 2020
  15. Oct 15, 2020
    • Benjamin Bellamy's avatar
      feat: update analytics so to meet IABv2 requirements · 03e23a28
      Benjamin Bellamy authored and Yassine Doghri's avatar Yassine Doghri committed
      - https://iabtechlab.com/wp-content/uploads/2017/12/Podcast_Measurement_v2-Dec-20-2017.pdf
        - no IP address is ever stored on the server. Only aggregate data is stored in the dababase.
        - rolling 24-hour window
        - castopod does not do pre-load
        - IP Blacklisting https://github.com/client9/ipcat
        - user-agent Filtering https://github.com/opawg/user-agents
        - ignores 2 bytes range "Range: 0-1" (performed by official Apple iOS Podcast app)
        - in case of partial content, adds up all requests to check >1mn was downloaded
        - identifying Uniques is done with a combination of IP Address and User Agent
      - add AMcharts
      - add some graphs
      - add regions to analytics
      - add ipcat blacklist
      - enhance useragents performances
      - add filesize and header size in order to calculate 1mn downloads
      - update publisher ID3 field
      - update castopod icon
      - add disclaimer and warning import form translation
      - update docs/setup-development.md
      
      closes #10
      03e23a28
    • Yassine Doghri's avatar
      feat: enhance admin ui with responsive design and ux improvements · 2d44b457
      Yassine Doghri authored
      - add podcast sidebar navigation
      - add podcast dashboard with latest episodes
      - add pagination to podcast episodes
      - add components helper to reuse ui components (button, data_table, etc.)
      - enhance podcast and episode forms by splitting them into form sections
      - add hint tooltips to podcast and episode forms
      - transform radio inputs as buttons for better ux
      - replace explicit field by parental_advisory
      - replace author field by publisher
      - add podcasts_categories table to set multiple categories
      - use choices.js to enhance multiselect fields
      - update Language files
      - update js dependencies to latest versions
      
      closes #31, #9
      2d44b457
    • Benjamin Bellamy's avatar
      feat: import podcast from an rss feed url · 9a5d5a15
      Benjamin Bellamy authored and Yassine Doghri's avatar Yassine Doghri committed
      * add podcast import form
      * add League\\HTMLToMarkdown
      * add guid field in podcast table
      * change podcast category from string to id
      
      closes #21
      9a5d5a15
    • Yassine Doghri's avatar
      feat: add install wizard form to bootstrap database and create the first superadmin user · cba871c5
      Yassine Doghri authored
      - generate .env file to configure instance's environment
      - add phpdotenv dependency to verify .env file
      - add AppSeeder to call all required seeds at once
      - add env and superadmin form views using form helpers
      
      closes #2
      cba871c5
    • Yassine Doghri's avatar
      refactor: add php_codesniffer to define castopod's coding style based on psr-1 · ed6e9530
      Yassine Doghri authored
      - add .editorconfig file
      - format all files to comply with castopod's coding style
      - switch parsedown dependency with commonmark library to better follow commonmark spec for markdown
      - add prettier command to format all project files at once
      
      closes #16
      ed6e9530
    • Yassine Doghri's avatar
      refactor(auth): change contributor's role logic to have it included in the users_podcasts table · 58364bfe
      Yassine Doghri authored
      - update myth-auth and codeigniter to latest develop changes
      - improve permission check: remove all
      dynamic permissions per podcast and overwrite myth-auth services and permission filter
      - remove
      unnecessary code because of myth-auth upgrade
      - refactor some controller code for better clarity
      -
      add remaining seeders in docs
      
      closes #19, #20
      58364bfe
    • Yassine Doghri's avatar
      refactor: update js files to typescript and replace parcel with rollup · e0da1151
      Yassine Doghri authored
      - add basic rollup config to bundle minified and browser compatible js
      - use babel to transpile
      typescript files to js
      - add static code checkers: eslint and stylelint
      - update package.json
      scripts
      - update DEPENDENCIES.md file to include rollup and popper
      - set html in rss feed
      description fields
      - update Podcast and Episode entities to add description_html attribute
      generated by parsing markdown to html using parsedown
      
      #9
      e0da1151
    • Yassine Doghri's avatar
      feat: enhance ui using javascript in admin area · c0e66d5f
      Yassine Doghri authored
      - bundle js using parcel
      - add markdown editor, html editor, dropdown and tooltip features using third-party packages
      - integrate optimized inline svg icons from RemixIcon using svgo and a php helper
      - add scripts in package.json to bundle icons, images, css and js
      - update tailwind config to add purgecss lookups and typography plugin
      - refactor views to add missing pages in user journey
      - update admin's holy grail layout using css grid
      c0e66d5f
    • Yassine Doghri's avatar
      feat: add user permissions and basic groups to handle authorizations · d58e5187
      Yassine Doghri authored
      - add AuthSeeder to bootstrap authorization data and remove UserSeeder
      - create a superadmin group having all authorizations
      - refactor routes and controller methods to separate get and post requests
      - refactor admin views with a title section in layout
      - add contributors section to podcasts to manage contributions (add, edit roles and remove)
      
      closes #3, #18
      d58e5187
    • Yassine Doghri's avatar
      feat(users): add myth-auth to handle users crud + add admin gateway only accessible by login · c63a0776
      Yassine Doghri authored
      - overwrite myth/auth config with castopod app needs
      - create custom views for users authentication
      - add admin area bootstrapped by admin controller
      - shift podcast and episodes crud to admin area
      - reorganize view layouts
      - update docs for database migration
      - add myth-auth to DEPENDENCIES.md
      
      closes #11
      c63a0776
    • Benjamin Bellamy's avatar
      feat: add analytics and unknown useragents · ec92e65a
      Benjamin Bellamy authored and Yassine Doghri's avatar Yassine Doghri committed
      ec92e65a
    • Yassine Doghri's avatar
      feat(episodes): add create form and view pages for episode · f3b2c8b8
      Yassine Doghri authored
      - add james-heinrich/getid3 library as a dependency to composer.json
      - update DEPENDENCIES.md file
      - fix episodes table migration script
      - add js devDependencies: prettier, @prettier/plugin-php and lint-staged to automatically format staged files before commit
      - reformat all files to the prettier format
      - refactor code by separating some logic as helper functions
      - overwrite existing files when uploading new files with the same name
      
      fixes #1
      f3b2c8b8
    • Yassine Doghri's avatar
      feat: add npm for js dependencies + move src/ files to root folder · cbb83a6f
      Yassine Doghri authored
      - add node service in docker-compose.yml
      - update .devcontainer Dockerfile by adding node, npm and vim
      - init package.json for npm with tailwindcss, postcss, commitlint and commitizen as dev dependencies
      - update default layout main header and footer
      - replace CI's welcome_message.php with home.php listing all podcasts
      - add AUTHORS.md file
      - add docs folder in which to place castopod's technical documentation
      cbb83a6f
    • Yassine Doghri's avatar
Loading