Organization tool for citizen's collectives

Overview

Build Status

Agorakit, groupware for citizens

Agorakit, groupware for citizens

AgoraKit is web-based, open-source groupware for citizens' initiatives. By creating collaborative groups, people can discuss topics, organize events, store files and keep everyone updated as needed. AgoraKit is a forum, calendar, file manager and email notifier.

Manage communication, decision making, membership, files and events. Flexible email notifications per group, per user preferences. Most of the time, no admin is involved in the process as we try to keep it as horizontal as possible.

In other words: an organized Facebook for the paranoid inside all of us.

Check https://www.agorakit.org for a more colorful overview. Read the docs here : https://docs.agorakit.org

Features

Create groups

  • Create an unlimited amount of groups
  • The group can be open (anyone can join) or private (invite only)
  • The group can have one or more admins
  • Each group has a discussion area, a calendar, a file repository, a member list & map.
  • Only members can use the discussion area, calendar and files
  • Content is public in public groups, and private in private groups (simple security model everyone understands)

Discussions

  • Create discussion topics
  • Reply to topics with comments
  • Mention others in comments using @name (they get notified)
  • Mention files using f: (autocomplete opens)
  • Mention other discussions using d: (autocomplete opens)

Calendar

  • Create events
  • List upcoming events as a list or as a dynamic calendar
  • Show geolocalized events on a map
  • Global and per group calendar
  • iCal feed for each calendar
  • RSS
  • Embed elsewhere using iframes

Files

  • Upload & tag several files at once
  • Quick search among files by author, filename and tags
  • Preview images / download
  • re-tag files
  • Mention files in comments

Members

  • Access a list of members (global / per group)
  • Contact others without leaking your/their email (privacy)
  • Check what others are up to (activity feed)
  • Fill your profile with portrait, bio, address (if you want)

Notifications / emails

  • For each group, choose how often you want to be notified (every hour for the hardcore, everyday to keep your mailbox cool, every week or every month)
  • Auto login to your account from "Reply" links inside the notification emails you receive (great time saving)
  • Get instant notifications when someone mentions you (for urgent matters)

Admin

  • Get stats on everything
  • Mass invite members using their email
  • Mass add existing members to groups
  • Settings control panel (in progress)

Architecture

  • Standard Laravel structured application. If you know Laravel, you can work with Agorakit easily
  • Simple structure, no single page app complexities
  • Bootstrap based UI
  • Simple DB schema
  • Simple file storage scheme (per group, per file id)

Privacy

  • Host it where you want
  • Your data is yours
  • No leakage of emails
  • Geolocalization of users (on a voluntary basis) is randomized by ~100 meters
  • Open source you can study and trust

Requirements & installation

Check the documentation for more information : https://agorakit.readthedocs.io/en/latest/index.html

Contributing

It's all explained here : https://github.com/philippejadin/agorakit/wiki/How-can-I-contribute-to-agorakit-%3F

You are really welcome to help on this project !

Security Vulnerabilities

Please drop a line to info (at) agorakit.org . Security issues will be dealt with care and speed.

Contact

Please drop a line to info (at) agorakit.org to keep in touch.

License

This tool is released under the GPL 3 licence

Credits

Idea & development : Philippe Jadin Contributors : https://github.com/philippejadin/agorakit/graphs/contributors Logo : Patrick Iacono Illustrations : Raphaëlle Goffaux

Comments
  • Issue with Database and abandoned package

    Issue with Database and abandoned package

    Hello, I have a issue while trying to install it on the shared server of Uberspace, on my subdomain.

    By trying to open http:/agorakit.xxx.de/public I get this error message:

    Whoops, looks like something went wrong.
    
    3/3
    ErrorException in Connection.php line 729:
    SQLSTATE[42S02]: Base table or view not found: 1146 Table 'petrk_agorakit.settings' doesn't exist (SQL: select * from `settings` where `name` = homepage_presentation limit 1) (View: /var/www/virtual/petrk/agorakit.xxx.de/resources/views/dashboard/presentation.blade.php)
    in Connection.php line 729
    at CompilerEngine->handleViewException(object(QueryException), '1') in PhpEngine.php line 44
    at PhpEngine->evaluatePath('/var/www/virtual/petrk/agorakit.xxx.de/storage/framework/views/32a509d1fc6165a66baf3cdbb5e523bef71be902.php', array('__env' => object(Factory), 'app' => object(Application), 'errors' => object(ViewErrorBag), 'tab' => 'homepage')) in CompilerEngine.php line 59
    at CompilerEngine->get('/var/www/virtual/petrk/agorakit.xxx.de/resources/views/dashboard/presentation.blade.php', array('__env' => object(Factory), 'app' => object(Application), 'errors' => object(ViewErrorBag), 'tab' => 'homepage')) in View.php line 149
    at View->getContents() in View.php line 120
    at View->renderContents() in View.php line 85
    at View->render() in Response.php line 53
    at Response->setContent(object(View)) in Response.php line 201
    at Response->__construct(object(View)) in Router.php line 1085
    at Router->prepareResponse(object(Request), object(View)) in ControllerDispatcher.php line 95
    at ControllerDispatcher->Illuminate\Routing\{closure}(object(Request))
    at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52
    at Pipeline->Illuminate\Routing\{closure}(object(Request))
    at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103
    at Pipeline->then(object(Closure)) in ControllerDispatcher.php line 96
    at ControllerDispatcher->callWithinStack(object(DashboardController), object(Route), object(Request), 'index') in ControllerDispatcher.php line 54
    

    .... and more codes like this

    In the terminal I get this after using php artisan migrate

    [petrk@peacock agorakit.xxx.de]$ php artisan migrate
    Migration table created successfully.
    
    
      [Illuminate\Database\QueryException]
      SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was t
      oo long; max key length is 1000 bytes (SQL: alter table `ltm_translations`
      add unique `ixk_ltm_translations_locale_group_key`(`locale`, `group`, `key`
      ))
    
    
    
      [PDOException]
      SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was t
      oo long; max key length is 1000 bytes
    
    
    
    

    After the composer install was on the end, it displayed me

    Package egeloen/http-adapter is abandoned, you should avoid using it. Use php-http/httplug instead. I think you should check that whether the package you are using got abandoned

    I hope you can help. Thanks

    opened by petrk94 19
  • Search

    Search

    Avec ceci ? : https://medium.com/@tntstudiohr/solving-the-search-problem-with-laravel-and-tntsearch-dfa16aa9173b#.yerntosdb

    Avec autocomplétion, suggestions, et séparer les résultats en personnes, actions, discussions, groupes

    high 
    opened by philippejadin 16
  • add reactions

    add reactions

    • add some package to allow one to react, at least to comments (possibly to other models later). Using this maybe : https://github.com/qirolab/laravel-reactions
    • add routes to react to comments /comments/[id]/react/like /comments/[id]/unreact (or other wording ?)
    • add user interface to add a reaction, first a form that is on a new page
    • add user interface to show the existing reactions on each comment
    • then use unpoly to make a modal to change reactions, and to update just the comment in situ.

    I'd mimic github for the ui and the available reactions, I really like it. Feel free to propose other reactions.

    high feature 
    opened by philippejadin 11
  • Laravel Analyzer

    Laravel Analyzer

    This pull request includes changes and recommendations for crafting your application "The Laravel Way". Feel free to commit any additional changes to the shift-8539 branch.

    Before merging, you should:

    • Checkout the shift-8539 branch
    • Review all pull request comments for additional changes
    • Thoroughly test your application

    If you want help with your upgrade, check out the Shift Human Services or join the Shifty Coders Slack room to get answers to all your Laravel questions.

    opened by philippejadin 9
  • Possibility to pin files and other stuff like discussions

    Possibility to pin files and other stuff like discussions

    In the Files tab, would be great to have the possibility to "pin" files. These pinned files would stay on top, whatever the display sorting chosen. Can probably be implemented as a special Tag on the file (but I'm not an expert).

    [and by the way I'm a happy user at reseautransition.be: thanks a lot!]

    enhancement high feature 
    opened by pgramme 9
  • draperstudio/laravel-service-provider non trouvé

    draperstudio/laravel-service-provider non trouvé

    Bonjour,

    Lors de l'exécution de la commande composer install, j'ai l'erreur suivante :

    [RuntimeException]
    Failed to clone https://github.com/DraperStudio/Laravel-Service-Provider.git via https, ssh protocols, aborting.

    • https://github.com/DraperStudio/Laravel-Service-Provider.git
      Cloning into '/home/fminne/projects/cms/Mobilizator/vendor/draperstudio/laravel-service-provider'...
      remote: Invalid username or password.
      fatal: Authentication failed for 'https://github.com/DraperStudio/Laravel-Service-Provider.git/'

    • [email protected]:DraperStudio/Laravel-Service-Provider.git
      Cloning into '/home/fminne/projects/cms/Mobilizator/vendor/draperstudio/laravel-service-provider'...
      ERROR: Repository not found.
      fatal: Could not read from remote repository.

      Please make sure you have the correct access rights
      and the repository exists.

    Quand je me rends sur la page https://github.com/DraperStudio/Laravel-Service-Provider.git via mon navigateur, j'ai effectivement une erreur 404.

    En faisant une recherche sur github ( https://github.com/search?q=laravel-service-provider ), il semble effectivement que ce projet a disparu. Il semble y avoir un fork ici https://github.com/christaggart/laravel-service-provider mais je ne suis pas certain qu'il soit à jour et/ou qu'il fonctionne correctement avec Mobilizator.

    Avez-vous une solution ?

    Merci d'avance,

    Frédéric
    
    opened by zefredz 9
  • Installation / configuration issue : can't register after install

    Installation / configuration issue : can't register after install

    Hi, thanks for this project, sounds good!

    Just followed the Quick start installation guide to give it a look on my server (Ubuntu 18.04 / Apache 2.4 / PHP 7.4 / MySQL 5.7), and while I've been able so far to get access to my https://agora.mydomain.me, I'm remaining stuck here.

    I mean, I get a front page with menus and a page showing:

    Agorakit Error sit nihil qui animi. blabla

    But when I click in Connection or Register, I just get:

    Not Found

    The requested URL was not found on this server. Apache/2.4.46 (Ubuntu) Server at agora.mydomain.me Port 443

    The URL is https://agora.mydomain.me/login (or register).

    The whole PHP and conf files are stored under /var/www/agorakit and owned by www-data.

    The apache2 conf file starts with:

    <VirtualHost *:443>
    	ServerName agora.mydomain.me
    
          	DocumentRoot /var/www/agorakit/public/
    
            <Directory /var/www/agorakit/public/>
                  Options Indexes FollowSymLinks MultiViews 
                  AllowOverride None 
                  Order allow,deny 
                  allow from all 
          	</Directory>
    etc.
    

    The .env file starts with:

    ################# Agorakit configuration file #################
    
    APP_ENV=production
    
    # Turn on or off debug. Use false on a production server, this is a security measure!
    APP_DEBUG=false
    
    # This key will be generated by laravel using php artisan key:generate
    APP_KEY=base64:trji3h/MaNyleTTersANDnuMbers=
    
    # The name of your application, used in various places like titles, email subjetc, etc...
    APP_NAME='Agorakit'
    
    APP_URL=https://agora.mydomain.me
    
    APP_LOG=daily
    
    # Default locale to use if not detected. Use two characters locale identifier
    APP_DEFAULT_LOCALE=fr
    
    # Database credentials
    DB_HOST=localhost
    DB_DATABASE=agora
    DB_USERNAME=root
    DB_PASSWORD='theVeryComplexMySQLPassword'
    

    What's wrong with it, doc?

    opened by manu-p 8
  • Affichage logo/favicon

    Affichage logo/favicon

    Bonjour, On vient de m'installer une instance d'agorakit, qui a l'air de très bien marcher ce qui est réjouissant.

    Par contre, il y a un bug que je ne comprends pas : Depuis l'espace admin, dans les settings j'ai voulu importer un logo/favicon... Je vois qu'un dossier est bien créé dans html/storage/app/public/logo avec les deux images. Mais le favicon ne s'affiche pas sur le site. L'adresse du favicon affiché dans la page (et qui ne s'affiche donc pas) est https://vallees-citoyennes.fr/storage/logo/favicon.png

    Par ailleurs, même en créant un dossier html/storage/logo et en y mettant les 2 images créées lors de l'import dans html/storage/app/public/logo, l'image ne s'affiche toujours pas.

    Je ne comprends donc pas... mais ça doit être très simple donc j'espère que vous saurez m'expliquer. Merci !

    opened by PierreLecomte 8
  • Gestion multilingue

    Gestion multilingue

    J'ai commencé une gestion multilingue (traduction de l'interface), mais je cherche un bon moyen de

    • déterminer la langue de l'utilisateur
    • la stocker dans son profil si il est connecté
    • garder le tout dans des urls séparées ? (pour l'instant, il y a /fr et /nl dans un middleware proposé par ceci : https://github.com/mcamara/laravel-localization

    Peux-tu @danielsum y jeter un coup d'oeuil ou me conseiller sur la meilleure méthode?

    (il ne s'agit pas de traduire les modèles hein, uniquement l'interface :-) )

    bug help wanted high 
    opened by philippejadin 8
  • bug while installing agorakit on 1and1, again

    bug while installing agorakit on 1and1, again

    thanks for the solution, i will add the famous line: Schema::defaultStringLength(191); even if i cannot understand what is 191 ....

    then i had to run again the "migrate" process that stopped in the middle... I hope this process was written and tested so good that it will run without error a second time ? gilles

    opened by gilluc 7
  • Better file and documents management

    Better file and documents management

    for document management [x] allow users to create folders [x] allow users to put documents into those folders [] Allow users to put links to external documents in the system

    Technically

    • tree implemented using simple additions to the file model
    • new ui buttons
    • added doc_type to the files table (0 = file / 1 = folder / 2 = link)
    opened by philippejadin 7
  • ical error

    ical error

    After my failed update (https://github.com/agorakit/agorakit/issues/428), I went back to my backup version.

    I wanted to update because I have a problem with ical on this version, hoping it could be fixed on last commit.

    When going to action page in a group, when clicking on either of the 2 buttons at the bottom "Lien ical public pour ce groupe" or "Lien ical personnel", I have a fatal error:

    Class 'Spatie\IcalendarGenerator\Components\Calendar' not found 
    
    opened by quenenni 0
  • problem with the app update

    problem with the app update

    I updated my instance to last commit (from this commit 9ecf01da5ed4c105b3bbb484c980607667375c5a).

    I followed the update procedure

        $ php artisan down
        $ git pull
        $ composer install
        $ php artisan migrate
        $ php artisan up
    

    Unfortunately, now I'm having this error when entering a group (and other pages);

    Class 'Purifier' not found (View: /var/www/agorakit/resources/views/users/show.blade.php) 
    
    opened by quenenni 1
  • Bump express from 4.17.1 to 4.18.2

    Bump express from 4.17.1 to 4.18.2

    Bumps express from 4.17.1 to 4.18.2.

    Release notes

    Sourced from express's releases.

    4.18.2

    4.18.1

    • Fix hanging on large stack of sync routes

    4.18.0

    ... (truncated)

    Changelog

    Sourced from express's changelog.

    4.18.2 / 2022-10-08

    4.18.1 / 2022-04-29

    • Fix hanging on large stack of sync routes

    4.18.0 / 2022-04-25

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies javascript 
    opened by dependabot[bot] 0
  • Bump decode-uri-component from 0.2.0 to 0.2.2

    Bump decode-uri-component from 0.2.0 to 0.2.2

    Bumps decode-uri-component from 0.2.0 to 0.2.2.

    Release notes

    Sourced from decode-uri-component's releases.

    v0.2.2

    • Prevent overwriting previously decoded tokens 980e0bf

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.1...v0.2.2

    v0.2.1

    • Switch to GitHub workflows 76abc93
    • Fix issue where decode throws - fixes #6 746ca5d
    • Update license (#1) 486d7e2
    • Tidelift tasks a650457
    • Meta tweaks 66e1c28

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.1

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies javascript 
    opened by dependabot[bot] 0
  • Bump engine.io and browser-sync

    Bump engine.io and browser-sync

    Bumps engine.io to 6.2.1 and updates ancestor dependency browser-sync. These dependencies need to be updated together.

    Updates engine.io from 3.2.1 to 6.2.1

    Release notes

    Sourced from engine.io's releases.

    6.2.1

    :warning: This release contains an important security fix :warning:

    A malicious client could send a specially crafted HTTP request, triggering an uncaught exception and killing the Node.js process:

    Error: read ECONNRESET
        at TCP.onStreamRead (internal/stream_base_commons.js:209:20)
    Emitted 'error' event on Socket instance at:
        at emitErrorNT (internal/streams/destroy.js:106:8)
        at emitErrorCloseNT (internal/streams/destroy.js:74:3)
        at processTicksAndRejections (internal/process/task_queues.js:80:21) {
      errno: -104,
      code: 'ECONNRESET',
      syscall: 'read'
    }
    

    Please upgrade as soon as possible.

    Bug Fixes

    • catch errors when destroying invalid upgrades (#658) (425e833)

    6.2.0

    Features

    • add the "maxPayload" field in the handshake details (088dcb4)

    So that clients in HTTP long-polling can decide how many packets they have to send to stay under the maxHttpBufferSize value.

    This is a backward compatible change which should not mandate a new major revision of the protocol (we stay in v4), as we only add a field in the JSON-encoded handshake data:

    0{"sid":"lv_VI97HAXpY6yYWAAAC","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":5000,"maxPayload":1000000}
    

    Links

    6.1.3

    Bug Fixes

    • typings: allow CorsOptionsDelegate as cors options (#641) (a463d26)
    • uws: properly handle chunked content (#642) (3367440)

    ... (truncated)

    Changelog

    Sourced from engine.io's changelog.

    6.2.1 (2022-11-20)

    :warning: This release contains an important security fix :warning:

    A malicious client could send a specially crafted HTTP request, triggering an uncaught exception and killing the Node.js process:

    Error: read ECONNRESET
        at TCP.onStreamRead (internal/stream_base_commons.js:209:20)
    Emitted 'error' event on Socket instance at:
        at emitErrorNT (internal/streams/destroy.js:106:8)
        at emitErrorCloseNT (internal/streams/destroy.js:74:3)
        at processTicksAndRejections (internal/process/task_queues.js:80:21) {
      errno: -104,
      code: 'ECONNRESET',
      syscall: 'read'
    }
    

    Please upgrade as soon as possible.

    Bug Fixes

    • catch errors when destroying invalid upgrades (#658) (425e833)

    3.6.0 (2022-06-06)

    Bug Fixes

    Features

    • decrease the default value of maxHttpBufferSize (58e274c)

    This change reduces the default value from 100 mb to a more sane 1 mb.

    This helps protect the server against denial of service attacks by malicious clients sending huge amounts of data.

    See also: https://github.com/advisories/GHSA-j4f2-536g-r55m

    • increase the default value of pingTimeout (f55a79a)

    ... (truncated)

    Commits
    • 24b847b chore(release): 6.2.1
    • 425e833 fix: catch errors when destroying invalid upgrades (#658)
    • 99adb00 chore(deps): bump xmlhttprequest-ssl and engine.io-client in /examples/latenc...
    • d196f6a chore(deps): bump minimatch from 3.0.4 to 3.1.2 (#660)
    • 7c1270f chore(deps): bump nanoid from 3.1.25 to 3.3.1 (#659)
    • 535a01d ci: add Node.js 18 in the test matrix
    • 1b71a6f docs: remove "Vanilla JS" highlight from README (#656)
    • 917d1d2 refactor: replace deprecated String.prototype.substr() (#646)
    • 020801a chore: add changelog for version 3.6.0
    • ed1d6f9 test: make test script work on Windows (#643)
    • Additional commits viewable in compare view

    Updates browser-sync from 2.26.12 to 2.27.10

    Release notes

    Sourced from browser-sync's releases.

    2.27.9

    What's Changed

    A bug prevented the help output from displaying - it was introduced when the CLI parser yargs was updated, and is now fixed :)

    Full Changelog: https://github.com/BrowserSync/browser-sync/compare/v2.27.8...v2.27.9

    2.27.8

    This release upgrades Socket.io (client+server) to the latest versions - solving the following issues, and silencing security warning :)

    PR:

    Resolved Issues:

    Thanks to @​lachieh for the original PR, which helped me land this fix

    added snippet: boolean option

    This release adds a feature to address BrowserSync/browser-sync#1882

    Sometimes you don't want Browsersync to auto-inject it's connection snippet into your HTML - now you can disable it globally via either a CLI param or the new snippet option :)

    browser-sync . --no-snippet
    

    or in any Browsersync configuration

    const config = {
      snippet: false,
    };
    

    the original request was related to Eleventy usage, so here's how that would look

    eleventyConfig.setBrowserSyncConfig({
      snippet: false,
    });
    

    ... (truncated)

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies javascript 
    opened by dependabot[bot] 0
  • Bump loader-utils and resolve-url-loader

    Bump loader-utils and resolve-url-loader

    Bumps loader-utils to 1.4.2 and updates ancestor dependency resolve-url-loader. These dependencies need to be updated together.

    Updates loader-utils from 1.4.0 to 1.4.2

    Release notes

    Sourced from loader-utils's releases.

    v1.4.2

    1.4.2 (2022-11-11)

    Bug Fixes

    v1.4.1

    1.4.1 (2022-11-07)

    Bug Fixes

    Changelog

    Sourced from loader-utils's changelog.

    1.4.2 (2022-11-11)

    Bug Fixes

    1.4.1 (2022-11-07)

    Bug Fixes

    Commits

    Updates resolve-url-loader from 3.1.1 to 5.0.0

    Release notes

    Sourced from resolve-url-loader's releases.

    5.0.0

    Breaking changes

    • Require node>=12.
    • Support only webpack>=4.
    • Update to postcss@^8.
    • Remove rework engine (which was deprecated in V4).

    Bugfixes

    • Fix log messages not correctly normalising absolute paths to posix style on Windows platform
    • Fixes to end-to-end tests and test framework.

    5.0.0-beta.1

    Breaking changes

    • Require node>=12.
    • Support only webpack>=4.
    • Update to postcss@^8.
    • Remove rework engine (which was deprecated in V4).

    Bugfixes

    • Fix log messages not correctly normalising absolute paths to posix style on Windows platform
    • Fixes to end-to-end tests and test framework.

    5.0.0-alpha.1

    Breaking changes

    • Require node>=12.
    • Support only webpack>=4.
    • Update to postcss@^8.
    • Remove rework engine (which was deprecated in V4).

    Bugfixes

    • Fix log messages not correctly normalising absolute paths to posix style on Windows platform

    4.0.0

    Features

    • Better resolution of the original source location - You can more successfully use url() in variables and mixins.
    • Dependencies now accept a wider range and explicit dependency on rework and rework-visit has been removed.

    Breaking Changes

    • The engine option is deprecated which means the old rework engine is deprecated.
    • The keepQuery behaviour is now the default, the keepQuery option has been removed.
    • The removeCR option defaults to true when executing on Windows OS.
    • The absolute option has been removed.
    • The join option has changed.

    Migrating

    See the changlog.

    ... (truncated)

    Changelog

    Sourced from resolve-url-loader's changelog.

    resolve-url-loader

    Version 5

    Features

    • Update postcss and completely remove rework parser.

    Breaking Changes

    • Require node@>=12.
    • Support webpack@>=4 (no longer tested for earlier versions).
    • The engine option has been removed.

    Migrating

    Remove the engine option if you are using it.

    Version 4

    Features

    • Better resolution of the original source location - You can more successfully use url() in variables and mixins.
    • Dependencies now accept a wider range and explicit dependency on rework and rework-visit has been removed.

    Breaking Changes

    • The engine option is deprecated which means the old rework engine is deprecated.
    • The keepQuery behaviour is now the default, the keepQuery option has been removed.
    • The removeCR option defaults to true when executing on Windows OS.
    • The absolute option has been removed.
    • The join option has changed.

    Migrating

    Remove the engine option if you are using it - the default "postcss" engine is much more reliable. The "rework" engine will still work for now but will be removed in the next major version.

    Remove the keepQuery option if you are using it.

    Remove the absolute option, webpack should work fine without it. If you have a specific need to rebase url() then you should use a separate loader.

    If you use a custom join function then you will need to refactor it to the new API. Refer to the advanced usage documentation.

    If you wish to still use engine: "rework" then note that rework and rework-visit packages are now peerDependencies that must be explicitly installed by you.

    Version 3

    Features

    • Use postcss parser by default. This is long overdue as the old rework parser doesn't cope with modern css.

    ... (truncated)

    Commits
    • bf01da9 5.0.0
    • 78393f6 update branch references to v5
    • 6787839 github actions for CI
    • 1457038 update changelog and readme
    • a01faf9 5.0.0-beta.1
    • fb09fae remove the engine option harder, ensure deprecation warning is tested
    • 5654fa4 remove the engine option and related tests, use getOptions from loader where ...
    • 10f9cdb 5.0.0-alpha.1
    • b168dd3 adjust deprecation message for engine option
    • 29e142a normalise windows absolute paths to posix format in log messages
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies javascript 
    opened by dependabot[bot] 0
Releases(1.9)
  • 1.9(May 27, 2021)

    This new release :

    • adds reactions on comments and discussions (same system as github)
    • provide much more robust inbound email handling, paving the way for group mailboxes !
    • Laravel 8 upgrade
    • tons of smaller improvements :-)

    Discover it here : https://agorakit.org/ Use it here : https://app.agorakit.org/

    Source code(tar.gz)
    Source code(zip)
  • 1.8(Apr 26, 2021)

    This release adds a bunch of bug fixes and some new features!

    • emoji are now correctly shown
    • settings (welcome & help pages) are now translatable
    • summernote editor instead of ckeditor for a silmplier developper experience
    • file can be dropped directly in discussions text editors : they are uploaded and referenced in the discussion
    • you can now use folders to organize files
    • correct timezone in ical feeds
    • new permission to allow registration or not
    • simplier tag ui
    Source code(tar.gz)
    Source code(zip)
  • 1.7(Nov 17, 2020)

    This was a long due release.

    • new russian translation thanks to the contributor zalexstudios
    • fully revamped tag system
    • partial switch to tailwind css (this is a story on it's own)
    • new mobile nav
    • licence is now agpl

    9f1d978 tag system revamp wip 3172503 get rid of mix 029201b nicer loader / error msg / translations / remove mix manifest 8a61635 app css cache busting 61679e9 hotfix, group creation doesn't work if not tag limit set 3f1e622 no more history check 4c57638 some additional n+1 squeezed 5b82e43 reducing n+1 "problem" ? 8751b99 small do enhancements 646cb3e closes #341 4f93192 more cases handled 6a2e529 wip tag limitator bfb494e wip f5cb6ef Switch to select2 js lib - wip e600f65 small size change on mai container 030e078 Merge branch 'master' of https://github.com/philippejadin/agorakit 34576a2 better handling of read unread stuff 39683ef corrected file show ui 1748794 nicer handling of unread comments visual hint 9bb146f hot fix 060cb2e simple pagination on group list b2ce661 small fixes 542ba53 correct agenda boudaries ef0352f remove uneeded popper js (already included by bootstrap it seems) 74c0cae small ui fixes 4f682d2 remove kkomelin/laravel-translatable-string-exporter, will use barryvdh/laravel-translation-manager instead (now it supports json as well) 25c1466 typos in ru translations, thank you zalexstudios 4173130 localization work 2b99199 invite mail with accept/deny signed routes 2a33f65 fontawesome locally hosted - probably faster :-) 5ea2378 hotfix a477cae tags on group overview and correct view preferences 5ad007a nicer tags (and some colors are back :-) ) 0fb0422 closes #330 5e306a9 nicer map markers (imho) 129646a some more small ui fixes 2db5013 small ui fixes on users imgs mostly d43ba69 use reply-to insteal of from in contactuser mailable closes #334 f94119f new tag limit feature wip 08dc296 trying to fix pagination number of links to no avail 501380d nicer info message for connected users 49edcbc correct css for previous commit d28d196 unpoly on create forms 24ec826 correct policy on group status 8e450c0 show group status on overview 7895de7 Correct map overview vs user preferences c68972b always handle user preferences changes (via middleware) a834cf5 ui small changes better dashboard views 58fa6f7 one more time 9db2e0c correct json action output for admins 14fa094 small ui fixes fe9b251 preferences 3 states (admin mode added) 93c9ac0 show all events for super admin 1b9713a don't purge boootrap cbe0f96 correct popover and tooltip - I hate purging and building 10e6c32 upgrade to full calendar 5 - no more build dd15be4 no cover page on docs 8d773aa better and simplier group action index views 07a2856 redoing most of the stuff with tailwind, gets better 69f38f6 nicer group pages and layout caf5099 I'm not sure I like tailwind so much 7408780 better group page still need work ffadc44 getting there 7c93260 less is more c979206 removed backup package due to https://github.com/spatie/laravel-backup/issues/957 be465cc add spatie/backup package 723894f add block quotes to content 9d98fe5 remove "new" from discussions comment count 31703aa re-add view option dropdown c692621 correct button radius f306246 Merge pull request #319 from agorakit/new-tailwind-ui ff3223e (refs/pull/origin/319) getting there 551a3fa a more balanced mix of bootstrap and tailwind for now 16585a2 back to normal 0e13f6e bring back some styles 0e4b922 will get there 56c671f wipwipwip 981c647 lining up stuff edda2aa hard wip a695fc9 lot of work ahead f676b58 new tailwind based ui 19d5023 logo d9cd939 Merge branch 'master' of https://github.com/philippejadin/agorakit 5e00113 add search e3f280c Create CNAME 4efb943 The return of the docs in the same repository as code a3f88c0 remove html from upcoming event emails 040349c better error handling for unppoly requests d4a37b6 another bug fix in ui f18cf95 small logic bug fix 0c4603e big refactor of user attending (or not) system f197f7f small bug fix 064241a Return of per group stats 81cab00 simplier comment add form - need styling 3cac9bb correct login logic, don't check password lenght at this stage a0e5711 Russian translations, thank you zalexstudios! 6fcf99e Merge pull request #318 from hubbubhum/patch-1 1e75d1f cosmetic changes on ui ae52d92 (refs/pull/origin/318) 20200922-update-fr.json abdc0b9 Merge pull request #317 from agorakit/leaflet c69e9c6 (origin/leaflet, refs/pull/origin/317, leaflet) remove the now unneeded mapbox token 42137b7 extract map to partials to reduce code duplication d1d1385 leaflet integration works on main map! 647c5c0 modals on discussion & action create 1df0f9f newer datatables version + better mobile ui on user list 2ea8ab5 small typo 0429a70 netwrok error warning in ui d2c77ce new ckeditor build 40e776d group select on action / discussion required (client-side) 3564f56 richtext seed 16b8af1 better db seed (tags, actions, other image provider) 4002096 the return of leaflet wip cc7e74e add sponsor link 44ea4e8 correct alerts z order d88fb52 search in all not secret groups 6f29b50 correct timezone on calendar click to create event (hackish but working) 2195ed8 cache not so long images a195d66 simplier service worker registration 51d64a3 Merge branch 'master' of https://github.com/philippejadin/agorakit 9cc2eaf link to map tab without unpoly - curently no compiler for maps 4546d25 English translation proofreading by native (#304) 7215f4e no more custom fonts, hahah! a5edd9f month by default on calendar ba33e74 remember current calendar view 2a51269 allow user to create events in calendar by just clicking / dragging, youpille ! 81edee4 all error messages shown, including $message, oupsie 6eb9634 laravel 7 default public files just in case ad52528 no smooth scroll to unread items f4cb1a0 rollback bold 742ed7d test unread comments visual clue 35aa2f5 smaller tags b3b3819 better email summary 76ad9e6 switch to AGPL e9f44aa limit image cache to 5 minutes 5508826 icon controller to handle all apps icon needs in the future (?) 842f89a a bit more explicit error messages 90293d6 translations 0353ae1 better errors, always shown 03e81d5 rework once more fonts b89c799 changing caching strategy once more 00d2f1c rollback purgecss (some classes were removed while still needed, tooltips and dropdown menu for instance) 2d56e65 smaller image embeds 2c6c1b0 better strategy in service worker. probably a hude speed increase! 6874392 attempt 2 c04d1ad add service worker 0826b0a pwa work in progress 9ed212a show all tags on tag page eca35bf added unpoly css, woopsie 6cbe528 nicer js and css libs using laravel mix for most of the stuff / no more cdn (almost) - for privacy c6ffbd5 corrected calendar? a090431 new typefaces (testing) c103c4c full calendar upgrade to 4.4 - add event from calendar will return soon c0b7e77 Merge branch 'master' of https://github.com/philippejadin/agorakit 926d7ad don't show pinned discussions first on dashboard + list 20 d4c9c6c New mobile nav (#302) 78fd656 correct password reset link e6dd2a8 custom footer css/code/wathever for admin a237f2e revert test nav 388ccb8 image max width 100% everywhere decd908 drop down on files show / tagger on discussion show

    Source code(tar.gz)
    Source code(zip)
  • V1.6(May 9, 2020)

    This release adds a lot of stuff, among them are :

    75334bf better oembed 8e7ee2f new tagger UI 75a9fca PIN / Archive content & groups 8738b03 allow user to change password on edit profile form bbb210d enforce unique group slugs 700a6e6 notifications sent in user locale e63dbff csv and xls export back on datatables 51c198d higher quality thumbs, 404's if file not found in storage and caching hopefuly f28879e nice generated avatars for everyone 38925b6 smaller intro on homepage for connected users - priority on discussions 67a9db6 live comment reload f0479c7 instant gratification, "realtime" chat in discussions in 15 lines of code. Need optimization and slow down when a comment is far away in time 4ea0e6d nicer comment add form (ajax load in place)

    Source code(tar.gz)
    Source code(zip)
  • V1.5(Apr 18, 2020)

    This version solves a few problems in the just released 1.4

    • Check the new documentations if you use post by email, the config changed : now inbound email is configured in .env

    • run php artisan agorakit:enforceuniqueusernames

    You are set!

    Source code(tar.gz)
    Source code(zip)
  • V1.4(Apr 13, 2020)

    This release is quite a huge update :

    • laravel 7
    • ckeditor 5
    • much better inbound email handling
    • better documentation
    • honeypot on user registration form
    • send reminders to participants before an event
    • "instant" notification interval
    • more unpoly goodness (faster UI with very little effort)
    Source code(tar.gz)
    Source code(zip)
  • V1.3(Sep 30, 2019)

    This releases fixes tons of small bugs and add some nice features :

    • youtube & similar video links are autoembeded
    • File and discussions embeds are now properly done with picture preview inside disucssions and comments
    • Private, per-user ical feeds
    • Public ical feeds per group and for the whole install (public groups only)
    • add a "my groups" menu entry
    • artisan command to purge soft deleted files from storage (admin function)
    • controlled tagging per group can be enabled : this allows a group admin to limit the usable tags, aka controlled vocabulary
    • custom permissions on groups, allows to disable posting and commenting for regular members. This paves the way for more permissions if needed (heavy use of laravel policies now)
    • upgrade to laravel 5.8
    • allow to add files directly from comments form
    • geocode using mapbox instead of google
    Source code(tar.gz)
    Source code(zip)
  • V1.2(Jun 5, 2019)

    This release mainly fixes the new bugs introduced in the previous iteration, mainly in the tag system. Some small ui tweaks were made. Enjoy!

    Source code(tar.gz)
    Source code(zip)
  • V1.1(May 24, 2019)

    This release puts emphasis on tags. Tags are now everywhere, on discussions, users, actions, files. You can get an overview of the tags and their relation to the content in your groups.

    This paves the way of a powerful organization tool!

    Source code(tar.gz)
    Source code(zip)
  • V1.0(May 6, 2019)

    This release is symbolic of course, with the 1.0 tag. It's also a quite mature tool now, with no errors in production's logs for the latest week. This cried for a release :-)

    • Help page with admin defined text
    • Less queries on main pages
    • API key for google maps (required for geocoding)
    • https everywhere on prod
    • better translations
    • better error messages
    • update to latest bootstrap
    • update to latest unpoly
    • group search filter with instant feedback
    • simplier UI (small changes)
    Source code(tar.gz)
    Source code(zip)
  • V0.9(Nov 30, 2018)

    This new version includes a ton of bugfixes and introduce a post by email feature.

    • allow user to cancel his/her own account
    • nicer dialogs layout
    • content delete dialog
    • user slugs
    • group slugs
    • refactored mention system using user slugs
    • upgrade to laravel 5.7
    • user list export to xls and csv
    • membership editing for group admins
    • post by email for each group allow to create discussions by email (replies as comments to be added later)
    • and tons of bugfixes !

    You might need to run this if using git for deployment, in order to reset your repository to a clean state :

    git reset --hard origin/master

    git pull origin master

    Source code(tar.gz)
    Source code(zip)
  • V0.8(Aug 23, 2018)

    Various bug fixes and enhancements

    • tag filter now properly show only used tags
    • the map system now show nicer icons thanks to mapbox and use geojson as backend
    • secret groups can be created
    • better mobile ui
    • favicon and app icon
    • settings admin page
    • user preferences system with a simple middleware
    • bootstrap 4 UI
    • laravel 5.6 upgrade
    Source code(tar.gz)
    Source code(zip)
  • V0.7(Feb 19, 2018)

    This release sees an upgrade to laravel 5.5 lts and bootstrap 4.

    This means we have a very solid foundation for the future and a nicer UI out of the box, thanks to bootstrap 4.

    New features include :

    • users can ask to join a closed group
    • new config settings in the admin menu (work in progress)
    • admin get notified when a new group is created
    • lots of UI polishing
    • lots of bug fixes in the invite system. It means closed groups are now really usable
    Source code(tar.gz)
    Source code(zip)
  • v0.5(Oct 13, 2017)

    This new version boast quite some new features and bug fixes since 0.4.

    Features :

    • social login (facebook, twitter, github, google) - see env.example
    • better English translations thanks to new contributors, thank you !
    • Spanish translations thanks to new contributors, thank you !
    • activity feed per group, per user, per instance
    • statistics per group, per instance : get on overview on the usage of your installation
    • more tags support
    • better looking notification emails
    • allow to mention @users in comments, reference f: files and d: discussions (work in progress)
    • mentioned users get an email
    • autologin of users from email notifications : when you receive a notification email, clicking a button will automagically logs you in

    Technical :

    • update to Laravel 5.4 (remove bootstrap/cache/compiled.php after updating
    • corrected policies for closed groups : no more information leakage from closed groups
    • testing of email (notifications)
    • autologin of users from email notifications. This has security implication, please comment on the idea
    • use of bootstrap scss and laravel mix : bootstrap variables can be tweaked

    Upgrade guide

    • The standard upgrade procedure should be followed see https://github.com/philippejadin/agorakit/wiki/Updating-an-existing-installation
    • After that, remove this file : bootstrap/cache/compiled.php (not needed anymore in more recent versions of laravel)
    Source code(tar.gz)
    Source code(zip)
  • v0.4(Aug 18, 2017)

    This is our best release so far!

    • a usable (really) file repository for groups
    • overall better user interface
    • as always battle tested on real installations
    • rolling release
    Source code(tar.gz)
    Source code(zip)
  • 0.3(Apr 9, 2017)

  • 0.2(Apr 9, 2017)

  • 0.1(Jun 13, 2016)

    While we are working on new features, you'd better stick to this release and wait for an upgrade to master (latest). The next release, 0.2, will feature private groups and additional bug fixes.

    Source code(tar.gz)
    Source code(zip)
Owner
Agorakit
Agorakit is modern organization tool for every group.
Agorakit
Organization tool for citizen's collectives

Agorakit, groupware for citizens AgoraKit is web-based, open-source groupware for citizens' initiatives. By creating collaborative groups, people can

Agorakit 367 Dec 4, 2022
VoteSwiper helps citizens to find a political party that matches their own views in a playful way.

VoteSwiper / WahlSwiper - Website VoteSwiper (in Germany better known as WahlSwiper) is a cross-platform voting advice app for Android, iOS and web br

MOVACT 9 Aug 15, 2022
Madison is a platform for lawmakers to share legislation with their citizens, allowing the community to add comments and suggest improvements.

Madison Madison is an open-source document engagement and feedback platform. While Madison can be used to collaborate on many different kinds of docum

OpenGov Foundation 591 Dec 17, 2022
Dolibarr ERP & CRM is a modern software package that helps manage your organization's activity (contacts, suppliers, invoices, orders, stocks, agenda…).

Dolibarr ERP CRM is a modern software package to manage your company or foundation activity (contacts, suppliers, invoices, orders, stocks, agenda, accounting, ...). It is open source software written in PHP and designed for small and medium businesses, foundations and freelancers. You can freely install, use and distribute it as a standalone application or as a web application to use it from every internet access and media.

Dolibarr ERP & CRM 3.7k Jan 7, 2023
Retrieve the GitHub Sponsors of a given user/organization.

Laravel GitHub Sponsors Retrieve the GitHub Sponsors of any user/organization and check if someone is sponsoring you. Installation composer require as

Astrotomic 7 Apr 27, 2022
search non profitable charity or organization through api search

Non Profile Charity Search Search non profitable organization or get the details of an organization Installation Require the package using composer: c

Touhidur Rahman 5 Jan 20, 2022
PlayZ is an esport event organization and management website allowing the creation of tournaments on the most popular video games of the esport scene.

PlayZ the playz to play Table of Contents Description "What is Playz?" In one sentence PlayZ is "an esport event organization and management website a

Antoine Saunier 2 Dec 7, 2021
Admidio is a free open source user management system for websites of organizations and groups. The system has a flexible role model so that it’s possible to reflect the structure and permissions of your organization.

Admidio Admidio is a free open source user management system for websites of organizations and groups. The system has a flexible role model so that it

Admidio 212 Dec 30, 2022
PHP_Depend is an adaptation of the established Java development tool JDepend. This tool shows you the quality of your design in terms of extensibility, reusability and maintainability.

PHP Depend Documentation PHP Depend for enterprise Available as part of the Tidelift Subscription. The maintainers of PHP Depend and thousands of othe

PHP_Depend 837 Dec 14, 2022
A simple tool that I share with you. This tool serves to make conversions from text to audio Google Translate.

A simple tool that I share with you. This tool serves to make conversions from text to audio Google Translate. You can download this conversion 100% for free. Good luck.

Afid Arifin 1 Oct 25, 2021
PHing Is Not GNU make; it's a PHP project build system or build tool based on Apache Ant.

P H I N G Thank you for using PHING! PHing Is Not GNU make; it's a PHP project build system or build tool based on Apache Ant. You can do anything wit

The Phing Project 1.1k Dec 22, 2022
Hi I'm Bob! I'm a tiny and messy build tool for PHP projects

Bob, your friendly builder Hello World Put this in a file named bob_config.php in your project's root: <?php namespace Bob\BuildConfig; task('defaul

Christoph Hochstrasser 105 Mar 4, 2022
A tool to automatically fix PHP Coding Standards issues

PHP Coding Standards Fixer The PHP Coding Standards Fixer (PHP CS Fixer) tool fixes your code to follow standards; whether you want to follow PHP codi

null 11.6k Jan 3, 2023
PHP Static Analysis Tool - discover bugs in your code without running it!

PHPStan - PHP Static Analysis Tool PHPStan focuses on finding errors in your code without actually running it. It catches whole classes of bugs even b

PHPStan 11.6k Dec 30, 2022
A PHP code-quality tool

GrumPHP Sick and tired of defending code quality over and over again? GrumPHP will do it for you! This composer plugin will register some git hooks in

PHPro 3.9k Jan 1, 2023
Beautiful and understandable static analysis tool for PHP

PhpMetrics PhpMetrics provides metrics about PHP project and classes, with beautiful and readable HTML report. Documentation | Twitter | Contributing

PhpMetrics 2.3k Dec 22, 2022
A tool for quickly measuring the size of a PHP project.

PHPLOC phploc is a tool for quickly measuring the size and analyzing the structure of a PHP project. Installation This tool is distributed as a PHP Ar

Sebastian Bergmann 2.3k Jan 4, 2023
PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD. PHPMD can be seen as an user friendly frontend application for the raw metrics stream measured by PHP Depend.

PHPMD PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD. PHPMD can be seen as an user friendly

PHP Mess Detector 2.1k Jan 8, 2023
A command line refactoring tool for PHP

PHP Refactoring Browser Note: This software is under development and in alpha state. Refactorings do not contain all necessary pre-conditions and migh

QafooLabs 562 Dec 30, 2022
Tool helping us to analyze software projects

Qafoo Quality Analyzer This software is a tool to visualize metrics and source code. We use this software for Code Reviews together with our customers

Qafoo GmbH 494 Dec 29, 2022