Personal CRM. Remember everything about your friends, family and business relationships.

Overview

Monica's Logo

Personal Relationship Manager

Build Status Docker pulls Lines of code Code coverage License

Monica is a great open source personal relationship management system.

Introduction

Monica is an open-source web application to organize and record your interactions with your loved ones. We call it a PRM, or Personal Relationship Management. Think of it as a CRM (a popular tool used by sales teams in the corporate world) for your friends or family. This is what it currently looks like:

Screenshot of the application

Purpose

Monica allows people to keep track of everything that’s important about their friends and family. Like the activities with them. When you last called someone and what you talked about. It will help you remember the name and the age of their kids. It can also remind you to call someone you haven’t talked to in a while.

Features

  • Add and manage contacts
  • Define relationships between contacts
  • Reminders
  • Automatic reminders for birthdays
  • Stay in touch with a contact by sending reminders at a given interval
  • Management of debts
  • Ability to add notes to a contact
  • Ability to record how you met someone
  • Management of activities with a contact
  • Management of tasks
  • Management of gifts given and received and ideas for gifts
  • Management of addresses and all the different ways to contact someone
  • Management of contact field types
  • Management of a contact’s pets
  • Basic journal
  • Ability to record how your day went
  • Upload documents and photos
  • Export and import of data
  • Export contacts as vCards
  • Ability to define custom genders
  • Ability to define custom activity types
  • Ability to favorite contacts
  • Track conversations on social media or SMS
  • Multiple users
  • Tags to organize contacts
  • Ability to define what section should appear on the contact sheet
  • Multiple currencies
  • Multiple languages
  • An API that covers most of the data

Who is it for?

This project is for people who have difficulty remembering details about other people’s lives – especially those they care about. Yes, you can still use Facebook to achieve this, but you will only be able to see what people do and post, and not add your own notes about them.

We’ve also received lots of positive feedback from users who suffer from Asperger syndrome, Alzheimer’s disease, or simply introverts who use this application on a daily basis.

What Monica isn’t

  • Monica is not a social network and it never will be. It’s not meant to be social. It’s designed to be the opposite: it’s for your eyes only.
  • Monica is not a smart assistant. It won’t guess what you want to do. It’s actually pretty dumb: it will only send you emails for the things you asked to be reminded of.
  • Monica is not a tool that will scan your data and do nasty things with it. It’s your data, your server, do whatever you want with it. You’re in control of your data.

Where does this tool come from?

I originally built this tool to help me in my private life: I’ve been living outside my own country for a long time now. I want to keep notes and remember the life of my friends in my home country and be able to ask the relevant questions when I email them or talk to them over the phone.

Moreover, as a foreigner in my new country, I met a lot of other foreigners – and most go back to their countries. I still want to remember the names or ages of their kids. You may call it cheating but considering my poor memory, I call it caring.

After a few months, I decided to open source Monica so it could help other people as well.

Get started

There are multiple ways of getting started with Monica:

  1. You can use our Hosted version. This is the simplest way to use Monica.

  2. You can install it on your own server by following the installation instructions here. There are no limitations on Monica if you install it on your own server.

    • The downloadable version will always be the most complete version – the same as offered on the paid plan on the Hosted version.
    • Self-hosted will always be completely free with no strings attached and you will be in complete control.
  3. You can deploy straight on a PaaS platform like:

Requirements

If you want to host Monica yourself, you will need a server with:

  • PHP 7.4 or newer
  • HTTP server with PHP support (eg: Apache, Nginx, Caddy)
  • Composer
  • MySQL

To successfully build and host Monica, we recommend a system with at least 1.5 GB for RAM. Monica can run on systems with significantly less memory, but due to the high memory requirements of the build process during updates, you may encounter issues and failed builds.

Update your instance

Once the software is installed, you’ll need to update it from time to time to have access to the latest features. Read this document to learn how to do it.

Contribute

Do you want to help? That’s awesome. We welcome contributions of all kinds from everyone.

Here are some of the things you can do to help.

Contribute as a community

  • Unlike Fight Club, the best way to help is to actually talk about Monica as much as you can in blog posts and articles, or on Twitter and Facebook.

  • You can answer questions in the issue tracker to help other community members.

  • You can financially support Monica’s development on Patreon or by subscribing to a paid account.

Contribute as a developer

Principles, vision, goals and strategy

We want to use technology in a way that does not harm human relationships, like big social networks can do.

Principles

Monica has a few principles.

  • It should help have better relationships.

  • It should be simple to use, simple to contribute to, simple to understand, extremely simple to maintain.

  • It is not a social network and never will be.

  • It is not and never will be ad-supported.

  • Users are not and never will be tracked.

  • It should be transparent.

  • It should be open-source.

  • It should do one thing (documenting social interactions) extremely well, and nothing more.

  • It should be well documented.

Vision

Monica’s vision is to help people have more meaningful relationships.

Goals

We want to provide a platform that is:

  • really easy to use: we value simplicity over anything else.

  • open-source: we believe everyone should be able to contribute to this tool, and see for themselves that nothing nasty is done behind the scenes that would go against the best interests of the users. We also want to leverage the community to build attractive features and do things that would not be possible otherwise.

  • easy to contribute to: we want to keep the codebase as simple as possible. This has two big advantages: anyone can contribute, and it’s easily maintainable on the long run.

  • available everywhere: Monica should be able to run on any desktop OS or mobile phone easily. This will be made possible by making sure the tool is easily installable by anyone who wants to either contribute or host the platform themselves.

Strategy

We think Monica has to become a platform more than an application, so people can build on it.

Here what we should do in order to realize our vision:

  • (done) Build an API in order to create an ecosystem. The ecosystem is what will make Monica a successful platform.

  • (done) Build importers and exporters of data. We don’t want to have any vendor lock-ins. Data is the property of the users and they should be able to do whatever they want with it.

  • (done) Be the central point of contact management, by supporting CardDav protocol.

  • (done) Be the central point of calendar events, by supporting CalDav protocol.

  • (partially done) Build great reports so people can have interesting insights on how they interact with their loved ones.

  • Create a smart recommendation system for gifts. For instance, if my nephew is soon 6 years old in a month, I will be able to receive an email with a list of 5 potential gifts I can offer to a 6 year old boy.

  • Add more ways of being reminded: Telegram, SMS,...

  • Create Chrome extensions to load Monica’s data in a sidebar when viewing a contact on Facebook, letting us take additional notes as we see them on Facebook.

  • Add modules that can be activated on demand. One would be for instance, for the people who wants to use Monica for dating purposes (yes, we’ve received this kind of feedback already).

Monetization

While it’s not the driving force behind Monica, it would be great if the tool could generate money so we could work full time on it and sustain it on the long run. We are big fans of Sentry, Wordpress and GitLab and we believe this kind of business model is an inspiring one where everyone wins.

If you want to support the development of Monica, consider taking a paid account, or support us on Patreon.

  • The Hosted version of Monica is offered in two versions:

    • a free plan which includes:

      • 10 contacts
      • data exporters
    • a paid plan which includes:

      • unlimited contacts
      • email reminders
      • data importers
      • advanced features
    • We’re still working on the features included in the paid plan, and these may be subject to change while we work out our business model to make Monica’s development sustainable.

    • People who substantially contribute to the GitHub repository (with a pull request that adds value, that gets merged – not a typo fix, for instance) will also have access to the paid version for free.

  • There is a Patreon account for those who want to financially support Monica’s development in another way. The best way to support Monica it is to actually talk about it and help grow its userbase.

There are no ads on the platform and there never will be. We will never resell your data on the Hosted version and we have no access to it if you self-host.

We are like you, and this is why we are on GitHub: we hate big corporations that do not have at heart the best interests of their users, even if they say otherwise. We believe that the only way to sustain the development of Monica is to actually make money in a good old-fashioned way.

Why Open Source?

Why is Monica open source? Is it risky? Will someone steal my code and do a for-profit business that will kill my own business? Why reveal my strategy to the world? These are the kind of questions we’ve received by email already.

The answer to these questions is simple: yes, you can fork Monica and make a competing project, make money out of it (even if the license is not super friendly towards that) and I’ll never know. But it’s okay, I don’t mind.

I wanted to open source Monica for several reasons:

  • I believe that this tool can really change people’s lives.
    While I aim to make money out of it, I also want everyone to benefit from it. Open sourcing a project like this will help Monica become much bigger than what I imagine myself. While I strongly believe that this software has to follow the vision I have for it, I need to be humble enough to know that ideas come from everywhere, and people have much better ideas than what I can have.

  • You can’t make something great alone.
    While Monica could become a company and hire a bunch of super smart people to work on it, you can’t beat the manpower of an entire community. Open sourcing the product means bugs will be fixed faster, features will be developed faster, and more importantly, developers will be able to contribute to a tool that positively changes their own lives and the lives of other people.

  • Doing things in a transparent way leads to formidable things.
    People respect the project more when they can see how it’s being worked on. You can’t hide nasty things in the code. You can’t do things behind the backs of your users. Doing everything in the open is a major driving force that motivates you to keep doing what’s right.

  • Once you’ve created a community of passionate developers around your project, you’ve won.
    Because developers are very powerful influencers. Developers will create apps around your product, talk about it on forums, and share the project with their friends, families, and colleagues. Cherish the developers – users will follow.

Patreon

You can support the development of Monica on Patreon. Thanks for your help.

Contact

Team

Our team is made of two core members:

We are also fortunate to have an amazing community of developers who help us greatly.

Thank you, open source

Monica uses a lot of open source projects and we thank them with all our hearts. We hope that providing Monica as an free, open source project will help other people the same way those softwares have helped us.

License

Copyright © 2016–2021

Licensed under the AGPL License.

Comments
  • Docker all the things

    Docker all the things

    This adds support for building a Docker image. It also supports docker-compose, which makes building and running Monica potentially as simple as:

    $ docker-compose build
    $ docker-compose up
    

    I tried to make the Dockerfile as straightforward as possible, but it has a couple of unusual bits:

    • Most Dockerfiles try to combine all the apt-get stuff onto a single line with a final command (on the same line) to remove the apt files (see https://www.dockerfile.in for an example). That makes for nice, compact image but it's a pain in the neck while developing.

    • Each line in a Dockerfile creates a new hashed disk image, and if you change one line in the file, everything after that line has to be rebuilt. To make build times less painful, I created a chunk of lines to run npm install before doing anything else with Monica's source files. Since those files might not change as often as the PHP and CSS files you might be editing locally, it's nice to cache that long process so we can skip it during iterative testing. (I tried to do the same for composer install but that turned into a rabbit hole and I temporarily gave up on it.)

    opened by kstrauser 35
  • Suggesting a localization platform

    Suggesting a localization platform

    Hey, I'm a Hebrew localizer and I wanted to ask if there's any chance you might consider using Weblate as your main translation platform.

    I can contact the owner of the hosted version and try to get a hosting the translations there, there's also an option to contribute the translations directly back to the GitHub project (commit for each translated string or to a specific branch so it won't create any clutter on the commit log).

    There are many others such as Transifex, Crowdin, etc. (Most of them non open source) I can help with them as well if needed.

    localization 
    opened by yarons 30
  • Add #381 Add hash ids instead of actual ID for model routes [WIP]

    Add #381 Add hash ids instead of actual ID for model routes [WIP]

    This will close #381 . Its current state its a proof of concept it needs the following things which I will work on.

    • [x] Extend to all Models
    • [x] Add Tests for added functions
    • [x] Modify Tests to Work with new URL structure
    • [x] Allow both old and new URLs to work
    • [x] Add HashIDs to URLs that don't use binding (Add ones from review)
    opened by turtles2 29
  • API for integrations

    API for integrations

    This issue serves the purpose of tracking the progress of the API development. I haven't found anything on this yet other than it needs to be done for mobile apps, so I figured we could track or even discuss its implementation here. I'm eagerly looking forward to contributing to the iOS version of the mobile app, so this is an issue I will be watching very closely.

    feature request api 
    opened by adrum 28
  • SSL termination issues

    SSL termination issues

    I have a SSL termination/load balancer/reverse proxy that sits in front of Monica. When trying to enter data, the site now warns that data may be sent insecurely, upon clicking 'ok' the site reloads and nothing is inserted.

    Suggestions? screen shot 2018-01-19 at 11 45 19 pm

    help wanted packaging support 
    opened by jwynn6 23
  • artisan migrate problem / 'is_birthday' in 'reminders'

    artisan migrate problem / 'is_birthday' in 'reminders'

    PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_birthday' in 'reminders' in /home/crm/public_html/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:105

    Looks like you have an error on the migrations...

    Last one running correctly: 2017_08_02_124102_add_world_currencies

    opened by ToeiRei 23
  • Running Docker-Compose, Error at Step 13

    Running Docker-Compose, Error at Step 13

    Hey all, I have been trying to get Monica to run on my Ubuntu 17.04 Server ever since I have heard of it but I kept running into issues and my latest issue would be getting stuck at Step 13 of the docker-compose build, I have attached a photo of the error and I was hoping I could get some help with resolving it or if anyone else is facing the same issue. image

    bug packaging 
    opened by Abdulla-B 23
  • License vs Wording

    License vs Wording

    There's potential confusion because the software is released under the MIT license, which permits, among other things to commercially exploit the software, but the README file asks to not commercially exploit it. Can't have it both ways - either the license needs to be changed or the README's wording removed or changed to make it clear that the request to not use it commercially is a non-binding request.

    opened by iajrz 23
  • Add 'me'

    Add 'me'

    'Me' as a contact is important, specially to define relationships of others to yourself. One way to do this is to simply add yourself as a contact. But a better approach would be to have that option in the settings.

    feature request priority 
    opened by nitinthewiz 20
  • Monica 2.12.0/ new installation: setup:production results in MySQL error SQLSTATE[42S02]: Base table or view not found: 1146 Table 'd02d7d75.monica_accounts' doesn't exist (SQL: select count(*) as aggregate from `monica_accounts`)

    Monica 2.12.0/ new installation: setup:production results in MySQL error SQLSTATE[42S02]: Base table or view not found: 1146 Table 'd02d7d75.monica_accounts' doesn't exist (SQL: select count(*) as aggregate from `monica_accounts`)

    Dear,

    I am trying to get Monica working on a shared hosting with SSH access. Since any installation step went smoothly, I do not believe that the hostind environment should be any issue.

    After I wanted to populate the database (using php artisan setup:production) only two tables are created in the database, running on MySQL 5.7.21. Furthermore, it throws the following errors:

    ssh-w01923b8@dd6006:/www/htdocs/w01923b8/monica.test101180.test-account.com/monica$ php artisan setup:production

    You are about to setup and configure Monica. Do you wish to continue? (yes/no) [no]:

    yes


    | | Welcome to Monica v2.12.0 |

    In Connection.php line 664:

    SQLSTATE[42S02]: Base table or view not found: 1146 Table 'd02d7d75.monica_accounts' doesn't exist (SQL: select count(*) as aggregate from monica_accounts)

    In PDOConnection.php line 63:

    SQLSTATE[42S02]: Base table or view not found: 1146 Table 'd02d7d75.monica_accounts' doesn't exist

    In PDOConnection.php line 61:

    SQLSTATE[42S02]: Base table or view not found: 1146 Table 'd02d7d75.monica_accounts' doesn't exist

    The migration script also errors with

    ssh-w01923b8@dd6006:/www/htdocs/w01923b8/monica.test101180.test-account.com/monica$ php artisan migrate Migrating: 2014_10_12_000000_create_users_table

    In Connection.php line 664:

    SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'monica_users' already exists (SQL: create table monica_users (id int unsigned not null au
    to_increment primary key, first_name varchar(255) not null, last_name varchar(255) not null, gender enum('male', 'female') not null, email varchar(25
    5) not null, password varchar(255) not null, remember_token varchar(100) null, created_at timestamp null, updated_at timestamp null) default characte
    r set utf8mb4 collate 'utf8mb4_unicode_ci')

    In PDOStatement.php line 119:

    SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'monica_users' already exists

    In PDOStatement.php line 117:

    SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'monica_users' already exists

    The corresponding .env file looks like this:

    # Welcome, friend ❤. Thanks for trying out Monica. We hope you'll have fun.
    #
    
    # Two choices: local|production. Use local if you want to install Monica as a
    # development version. Use production otherwise.
    APP_ENV=local
    
    # true if you want to show debug information on errors. For production, put this
    # to false.
    APP_DEBUG=false
    
    # The encryption key. This is the most important part of the application. Keep
    # this secure otherwise, everyone will be able to access your application.
    # Must be 32 characters long exactly.
    # Use `php artisan key:generate` to generate a random key.
    APP_KEY=ChangeMeBy32KeyLengthOrGenerated
    
    # Prevent information leakage by referring to IDs with hashIds instead of
    # the actual IDs used in the database.
    HASH_SALT=ChangeMeBy20+KeyLength
    HASH_LENGTH=18
    
    # The URL of your application.
    APP_URL=http://localhost
    
    # Database information
    # To keep this information secure, we urge you to change the default password
    DB_CONNECTION=mysql
    DB_HOST=localhost
    DB_PORT=3306
    # You can use mysql unix socket if available, it overrides DB_HOST and DB_PORT values.
    #DB_UNIX_SOCKET=/var/run/mysqld/mysqld.sock
    DB_DATABASE=d02d7d75
    DB_USERNAME=d02d7d75
    DB_PASSWORD=unbelievablestrongpassword
    DB_PREFIX=monica_
    DB_TEST_HOST=127.0.0.1
    DB_TEST_DATABASE=monica_test
    DB_TEST_USERNAME=homestead
    DB_TEST_PASSWORD=secret
    
    # Use utf8mb4 database charset format to support emoji characters
    # ⚠ be sure your DBMS supports utf8mb4 format
    DB_USE_UTF8MB4=true
    
    # Mail credentials used to send emails from the application.
    MAIL_DRIVER=smtp
    MAIL_HOST=mailtrap.io
    MAIL_PORT=2525
    MAIL_USERNAME=null
    MAIL_PASSWORD=null
    MAIL_ENCRYPTION=null
    # Outgoing emails will be sent with these identity
    MAIL_FROM_ADDRESS=
    MAIL_FROM_NAME="Monica instance"
    # New registration notification sent to this email
    APP_EMAIL_NEW_USERS_NOTIFICATION=
    
    # Default locale used in the application.
    APP_DEFAULT_LOCALE=en
    
    # Ability to disable signups on your instance.
    # Can be true or false. Default to false.
    APP_DISABLE_SIGNUP=true
    
    # Enable user email verification.
    APP_SIGNUP_DOUBLE_OPTIN=false
    
    # Set trusted proxy IP addresses.
    # To trust all proxies that connect directly to your server, use a "*".
    # To trust one or more specific proxies that connect directly to your server, use a comma separated list of IP addresses.
    APP_TRUSTED_PROXIES=
    
    # Enable automatic cloudflare trusted proxy discover
    APP_TRUSTED_CLOUDFLARE=false
    
    # Frequency of creation of new log files. Logs are written when an error occurs.
    # Refer to config/logging.php for the possible values.
    LOG_CHANNEL=daily
    
    # Error tracking. Specific to hosted version on .com. You probably don't need
    # those.
    SENTRY_SUPPORT=false
    SENTRY_LARAVEL_DSN=
    
    # Send a daily ping to https://version.monicahq.com to check if a new version
    # is available. When a new version is detected, you will have a message in the
    # UI, as well as the release notes for the new changes. Can be true or false.
    # Default to true.
    CHECK_VERSION=true
    
    # Change this only if you know what you are doing
    CACHE_DRIVER=database
    SESSION_DRIVER=file
    SESSION_LIFETIME=120
    QUEUE_DRIVER=sync
    
    # Maximum allowed size for uploaded files, in kilobytes.
    # Make sure this is an integer, without commas or spaces.
    DEFAULT_MAX_UPLOAD_SIZE=10240
    
    # Maximum allowed storage size per account, in megabytes.
    # Make sure this is an integer, without commas or spaces.
    DEFAULT_MAX_STORAGE_SIZE=512
    
    # Default filesystem to store uploaded files.
    # Possible values: public|s3
    DEFAULT_FILESYSTEM=public
    
    # AWS keys for S3 when using this storage method
    AWS_KEY=
    AWS_SECRET=
    AWS_REGION=us-east-1
    AWS_BUCKET=
    AWS_SERVER=
    
    # Allow Two Factor Authentication feature on your instance
    MFA_ENABLED=true
    
    # Enable DAV support (beta feature)
    DAV_ENABLED=false
    
    # CLIENT ID and SECRET used for the official mobile application
    # This is to make sure that only the mobile application that you approve can
    # access the route to let your users sign in with their credentials
    MOBILE_CLIENT_ID=
    MOBILE_CLIENT_SECRET=
    
    # Allow to access general statistics about your instance through a public API
    # call
    ALLOW_STATISTICS_THROUGH_PUBLIC_API_ACCESS=false
    
    # Indicates that each user in the instance must comply to international policies
    # like CASL or GDPR
    POLICY_COMPLIANT=true
    
    # Have access to paid features available on https://monicahq.com, for free.
    # Can be true or false. Default to false.
    # If set to true, that means your users will have to pay to access the paid
    # features. We use Stripe to do this.
    REQUIRES_SUBSCRIPTION=false
    
    # Number of contacts allowed in the Free version if the instance requires
    # a subscription
    NUMBER_OF_ALLOWED_CONTACTS_FREE_ACCOUNT=10
    
    # ONLY NECESSARY IF MONICA REQUIRES A SUBSCRIPTION TO WORK
    # Leave blank unless you know what you are doing.
    STRIPE_KEY=
    STRIPE_SECRET=
    PAID_PLAN_MONTHLY_FRIENDLY_NAME=
    PAID_PLAN_MONTHLY_ID=
    PAID_PLAN_MONTHLY_PRICE=
    PAID_PLAN_ANNUAL_FRIENDLY_NAME=
    PAID_PLAN_ANNUAL_ID=
    PAID_PLAN_ANNUAL_PRICE=
    
    # Enable geolocation services
    # This is used to translate addresses to GPS coordinates.
    ENABLE_GEOLOCATION=false
    
    # API key for geolocation services
    # We use LocationIQ (https://locationiq.com/) to translate addresses to
    # latitude/longitude coordinates. We could use Google instead but we don't
    # want to give anything to Google, ever.
    # LocationIQ offers 10,000 free requests per day.
    LOCATION_IQ_API_KEY=
    
    # Enable weather on contact profile page
    # Weather can only be fetched if we know longitude/latitude - this is why
    # you also need to activate the geolocation service above to make it work
    ENABLE_WEATHER=false
    
    # Access to weather data from darksky api
    # https://darksky.net/dev/register
    # Darksky provides an api with 1000 free API calls per day
    # You need to enable the weather above if you provide an API key here.
    DARKSKY_API_KEY=
    

    So - what am I doing wrong? Best regards,

    Philip

    opened by Connor0308 19
  • feat: CardDAV support

    feat: CardDAV support

    WIP for #582

    This is what I have after spending a couple of hours on it, the basic UI of Sabre works, but the two clients I've tested give me errors.

    • Evolution because of a misconfiguration in the client, so it sends an empty request size. Ref
    • IOS 12 still unknown. I've reverted to doing own authentication, instead of using the Laravel system, but that hasn't resolved the issue. Next up is looking at the technical details.

    There is still a lot of debug code in there, but I wanted to already share this to see if people have comments or requests. I've added a TODO below to give you an idea on the work that is still needed.

    • [x] Adding more Contacts testing data
    • [x] First working client (Evolution and IOS)
    • [ ] Read only CardDAV access
    • [ ] Add remaining fields
    opened by kidk 19
  • SQLSTATE[42S22]: Column not found: 1054

    SQLSTATE[42S22]: Column not found: 1054

    I have exactly the same problem like duman here: https://github.com/monicahq/monica/issues/3137 with the same behavior and error messages.

    I followed the installation instructions here: https://github.com/monicahq/docker after the debian setup instructions are complete nonsense and always lead to a really broken result.

    A comment from the linked issue says, that I should add something to any my.cnf file but neither, where to find something like that, nor how to use a file like that. Could anyone help me out?

    I really have to say that setting up monica is a pain. The installation instructions are definitely not working or at least not clear enough.

    That's my current docker-compose.yml:

    version: "3.4"

    services: app: image: monica depends_on: - db ports: - 8080:80 environment: - APP_KEY=base64:somekey - DB_HOST=db - DB_USERNAME=usermonica - DB_PASSWORD=password-1 volumes: - data:/var/www/html/storage restart: always

    db: image: mysql:5.7 environment: - MYSQL_RANDOM_ROOT_PASSWORD=true - MYSQL_DATABASE=monica - MYSQL_USER=usermonica - MYSQL_PASSWORD=password-1 volumes: - mysql:/var/lib/mysql restart: always

    volumes: data: name: data mysql: name: mysql

    opened by iwgiemk 0
  • Query a contact using hash_id

    Query a contact using hash_id

    I'm using the birthday CalDev as part of my integration, I get the url of the person back under the description. I then do some magic and strip the hash_id out of the url, I make a seconday API call to /api/contacts but I can't seem to get the query paramater statement correct as per https://www.monicahq.com/api/contacts#list-all-your-contacts.

    There is also no examples on how to use the paramaters, please can anyone assist. Ideally as I can't retrieve a contact via its hash_id, I would like to filter the contacts results based on the hash_id.

    opened by mwolfaardt 0
  • chore: Bump spatie/laravel-ignition from 1.6.1 to 1.6.3

    chore: Bump spatie/laravel-ignition from 1.6.1 to 1.6.3

    Bumps spatie/laravel-ignition from 1.6.1 to 1.6.3.

    Release notes

    Sourced from spatie/laravel-ignition's releases.

    1.6.3

    • make sure reports from queues get sent immediately

    1.6.2

    What's Changed

    New Contributors

    Full Changelog: https://github.com/spatie/laravel-ignition/compare/1.6.1...1.6.2

    Changelog

    Sourced from spatie/laravel-ignition's changelog.

    1.6.3 - 2022-12-26

    • make sure reports from queues get sent immediately

    1.6.2 - 2022-12-08

    What's Changed

    New Contributors

    Full Changelog: https://github.com/spatie/laravel-ignition/compare/1.6.1...1.6.2

    Commits
    • 2db918b make sure queued reports get sent immediately
    • f7e2ade Update CHANGELOG
    • dd579c8 Update README.md
    • c9fca6a Update README.md
    • d6e1e1a Merge pull request #131 from spatie/fix-octane-queued-reports
    • 715664c Merge branch 'main' into fix-octane-queued-reports
    • b18c6e4 Fix styling
    • 5462c12 fix tests
    • df93794 attempt to fix tests
    • 89379ed Also run flare reset on RequestTerminated by Octane
    • Additional commits viewable in compare view

    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)
    dependencies php auto-squash 
    opened by dependabot[bot] 0
  • chore: Bump symfony/translation from 6.1.6 to 6.2.3

    chore: Bump symfony/translation from 6.1.6 to 6.2.3

    Bumps symfony/translation from 6.1.6 to 6.2.3.

    Release notes

    Sourced from symfony/translation's releases.

    v6.2.3

    Changelog (https://github.com/symfony/translation/compare/v6.2.2...v6.2.3)

    • bug #48774 Fix undefined variable messages in ConstraintVisitor (alamirault)

    v6.2.2

    Changelog (https://github.com/symfony/translation/compare/v6.2.1...v6.2.2)

    • bug #48451 Fix extraction when dealing with VariadicPlaceholder parameters (Kocal)

    v6.2.0

    Changelog (https://github.com/symfony/translation/compare/v6.2.0-RC2...v6.2.0)

    • no significant changes

    v6.2.0-RC1

    Changelog (https://github.com/symfony/translation/compare/v6.2.0-BETA3...v6.2.0-RC1)

    • no significant changes

    v6.2.0-BETA3

    Changelog (https://github.com/symfony/translation/compare/v6.2.0-BETA2...v6.2.0-BETA3)

    • bug #48222 Configure replace_breaks to prevent issues with multilines translations (Kocal)

    v6.2.0-BETA1

    Changelog (https://github.com/symfony/translation/compare/v6.1.6...v6.2.0-BETA1)

    • feature #46161 Add PhpAstExtractor (welcoMattic)
    Changelog

    Sourced from symfony/translation's changelog.

    CHANGELOG

    6.2

    • Deprecate PhpStringTokenParser
    • Deprecate PhpExtractor in favor of PhpAstExtractor
    • Add PhpAstExtractor (requires nikic/php-parser to be installed)

    6.1

    • Parameters implementing TranslatableInterface are processed
    • Add the file extension to the XliffFileDumper constructor

    5.4

    • Add github format & autodetection to render errors as annotations when running the XLIFF linter command in a Github Actions environment.
    • Translation providers are not experimental anymore

    5.3

    • Add translation:pull and translation:push commands to manage translations with third-party providers
    • Add TranslatorBagInterface::getCatalogues method
    • Add support to load XLIFF string in XliffFileLoader

    5.2.0

    • added support for calling trans with ICU formatted messages
    • added PseudoLocalizationTranslator
    • added TranslatableMessage objects that represent a message that can be translated
    • added the t() function to easily create TranslatableMessage objects
    • Added support for extracting messages from TranslatableMessage objects

    5.1.0

    • added support for name attribute on unit element from xliff2 to be used as a translation key instead of always the source element

    5.0.0

    • removed support for using null as the locale in Translator
    • removed TranslatorInterface
    • removed MessageSelector

    ... (truncated)

    Commits
    • a2a1540 [Translation] Fix undefined variable messages in ConstraintVisitor
    • 3294288 [Translation] add tests + fix
    • 41933e0 [Translation] Fix extraction when dealing with VariadicPlaceholder parameters
    • c08de62 Use ??= more
    • 261d195 [Translation] cs fix
    • 2a32ad9 Deprecate PhpStringTokenParser
    • 41f203a Add PhpAstExtractor
    • 89c407b Merge branch '6.1' into 6.2
    • dee8636 CS fixes
    • ce1fa43 Replace FILTER_VALIDATE_BOOLEAN by FILTER_VALIDATE_BOOL
    • Additional commits viewable in compare view

    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)
    dependencies php auto-squash 
    opened by dependabot[bot] 0
  • chore: Bump @snyk/protect from 1.1061.0 to 1.1080.0

    chore: Bump @snyk/protect from 1.1061.0 to 1.1080.0

    Bumps @snyk/protect from 1.1061.0 to 1.1080.0.

    Release notes

    Sourced from @​snyk/protect's releases.

    v1.1080.0

    1.1080.0 (2022-12-29)

    Bug Fixes

    • merge internal and external defined no_proxy (e92b1ae)

    Features

    • Upgrade snyk-iac-test to v0.37.2 (963039f)

    v1.1079.0

    1.1079.0 (2022-12-28)

    v1.1078.0

    1.1078.0 (2022-12-28)

    Bug Fixes

    • missing org slug in query string when tracking usage for iac scans (8e8fddb)

    v1.1077.0

    1.1077.0 (2022-12-27)

    Bug Fixes

    • add no_proxy for localhost traffic (f66df33)

    v1.1076.0

    1.1076.0 (2022-12-22)

    Bug Fixes

    • Revert "Merge pull request #4255 from snyk/chore/HMMR-567-release-golang-cli-for-linux" (fb7d31e)

    v1.1075.0

    1.1075.0 (2022-12-22)

    v1.1074.0

    1.1074.0 (2022-12-21)

    Features

    • add unmanaged analytics (1cc153d)

    ... (truncated)

    Commits
    • e42dbd1 Merge pull request #4253 from snyk/feat/upgrade-snyk-iac-test
    • e929b03 Merge pull request #4263 from snyk/fix/HMMR-627_restore_system_proxy
    • e92b1ae fix: merge internal and external defined no_proxy
    • 13fea9e Merge pull request #4257 from snyk/fix/HMMR-626
    • 3aa723b Merge pull request #4262 from snyk/fix/iac-usage-with-custom-org
    • 8e8fddb fix: missing org slug in query string when tracking usage for iac scans
    • 108f41e Merge pull request #4252 from snyk/chore/HMMR-608_update_osname
    • ef6b69b fix: replace tmp by cache directory
    • 8426d88 Merge pull request #4260 from snyk/fix/HMMR-627_no_proxy
    • f66df33 fix: add no_proxy for localhost traffic
    • Additional commits viewable in compare view

    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)
    dependencies javascript auto-squash 
    opened by dependabot[bot] 0
  • Error while upgrading while running yarn run production

    Error while upgrading while running yarn run production

    • A server you maintain yourself (if so, please indicate your current version of Monica) - Version: 3.2.0
    • PHP - PHP 8.1.13
    • nginx/1.22.1
    • mysql Ver 15.1 Distrib 10.9.4-MariaDB

    I am trying to upgrade to the latest version V3.7.0.

    On running yarn run production - I am getting the following error -

    yarn run production
    yarn run v1.22.19
    $ php artisan lang:generate -vvv
    Cannot load the ionCube PHP Loader - it was already loaded
    Created: public/js/langs/pt-BR.json
    Created: public/js/langs/zh.json
    Created: public/js/langs/he.json
    Created: public/js/langs/da.json
    Created: public/js/langs/es.json
    Created: public/js/langs/el.json
    Created: public/js/langs/vendor.json
    Created: public/js/langs/id.json
    Created: public/js/langs/de.json
    Created: public/js/langs/pt.json
    Created: public/js/langs/no.json
    Created: public/js/langs/uk.json
    Created: public/js/langs/en.json
    Created: public/js/langs/hr.json
    Created: public/js/langs/tr.json
    Created: public/js/langs/fi.json
    Created: public/js/langs/fr.json
    Created: public/js/langs/ru.json
    Created: public/js/langs/sv.json
    Created: public/js/langs/fa.json
    Created: public/js/langs/ar.json
    Created: public/js/langs/it.json
    Created: public/js/langs/cs.json
    Created: public/js/langs/en-GB.json
    Created: public/js/langs/vi.json
    Created: public/js/langs/nl.json
    Created: public/js/langs/zh-TW.json
    Created: public/js/langs/ja.json
    $ mix --production
    [webpack-cli] Error: Cannot find module 'vue/compiler-sfc'
    Require stack:
    - /var/www/monica/node_modules/vue-loader/dist/index.js
    - /var/www/monica/node_modules/laravel-mix/src/components/Vue.js
    - /var/www/monica/node_modules/laravel-mix/src/components/ComponentRegistrar.js
    - /var/www/monica/node_modules/laravel-mix/src/Mix.js
    - /var/www/monica/node_modules/laravel-mix/setup/webpack.config.js
    - /var/www/monica/node_modules/webpack-cli/lib/webpack-cli.js
    - /var/www/monica/node_modules/webpack-cli/lib/bootstrap.js
    - /var/www/monica/node_modules/webpack-cli/bin/cli.js
    - /var/www/monica/node_modules/webpack/bin/webpack.js
        at Function.Module._resolveFilename (node:internal/modules/cjs/loader:995:15)
        at Function.Module._load (node:internal/modules/cjs/loader:841:27)
        at Module.require (node:internal/modules/cjs/loader:1067:19)
        at require (node:internal/modules/cjs/helpers:103:18)
        at Object.<anonymous> (/var/www/monica/node_modules/vue-loader/dist/index.js:8:24)
        at Module._compile (node:internal/modules/cjs/loader:1165:14)
        at Object.Module._extensions..js (node:internal/modules/cjs/loader:1219:10)
        at Module.load (node:internal/modules/cjs/loader:1043:32)
        at Function.Module._load (node:internal/modules/cjs/loader:878:12)
        at Module.require (node:internal/modules/cjs/loader:1067:19) {
      code: 'MODULE_NOT_FOUND',
      requireStack: [
        '/var/www/monica/node_modules/vue-loader/dist/index.js',
        '/var/www/monica/node_modules/laravel-mix/src/components/Vue.js',
        '/var/www/monica/node_modules/laravel-mix/src/components/ComponentRegistrar.js',
        '/var/www/monica/node_modules/laravel-mix/src/Mix.js',
        '/var/www/monica/node_modules/laravel-mix/setup/webpack.config.js',
        '/var/www/monica/node_modules/webpack-cli/lib/webpack-cli.js',
        '/var/www/monica/node_modules/webpack-cli/lib/bootstrap.js',
        '/var/www/monica/node_modules/webpack-cli/bin/cli.js',
        '/var/www/monica/node_modules/webpack/bin/webpack.js'
      ]
    }
    
    
    npm install vue/compiler-sfc
    npm ERR! code 128
    npm ERR! An unknown git error occurred
    npm ERR! command git --no-replace-objects ls-remote ssh://[email protected]/vue/compiler-sfc.git
    npm ERR! Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
    npm ERR! [email protected]: Permission denied (publickey).
    npm ERR! fatal: Could not read from remote repository.
    npm ERR! 
    npm ERR! Please make sure you have the correct access rights
    npm ERR! and the repository exists.
    
    npm ERR! A complete log of this run can be found in:
    npm ERR!     /root/.npm/_logs/2022-12-31T14_54_13_564Z-debug-0.log
    
    

    Can anyone please help.

    opened by niladrishekhar 0
Releases(v3.7.0)
Owner
Monica
A Personal Relationship Management tool to help you organize your social life
Monica
A genealogy/family tree application, built with Laravel.

Genealogy Application Development in progress In development progress, any changes of table structure will be updated directly to corresponding migrat

Nafies Luthfi 430 Dec 28, 2022
An Eloquent Way To Filter Laravel Models And Their Relationships

Eloquent Filter An Eloquent way to filter Eloquent Models and their relationships Introduction Lets say we want to return a list of users filtered by

Eric Tucker 1.5k Jan 7, 2023
An Eloquent Way To Filter Laravel Models And Their Relationships

Eloquent Filter An Eloquent way to filter Eloquent Models and their relationships Introduction Lets say we want to return a list of users filtered by

Eric Tucker 1.5k Dec 30, 2022
🕵️ Inspect Laravel Eloquent models to collect properties, relationships and more.

??️ Eloquent Inspector Inspect Laravel Eloquent models to collect properties, relationships and more. Install Via Composer composer require cerbero/el

Andrea Marco Sartori 111 Nov 4, 2022
Laravel Eloquent BelongsToThrough relationships

Introduction This inverse version of HasManyThrough allows BelongsToThrough relationships with unlimited intermediate models. Supports Laravel 5.0+. I

Jonas Staudenmeir 804 Jan 3, 2023
Worlds (soon to be) most advanced Anime site! Featuring Administration features and everything you need for users and yourself. The successor of aniZero.

/**********************************************************************\ | _____ H33Tx & xHENAI __ 31.01.2022| |

HENAI.eu 40 Jan 3, 2023
🐦 A personal music streaming server that works.

koel Intro Koel (also stylized as koel, with a lowercase k) is a simple web-based personal audio streaming service written in Vue on the client side a

Koel 14.3k Dec 29, 2022
Stop duplicating your Eloquent query scopes and constraints in PHP. This package lets you re-use your query scopes and constraints by adding them as a subquery.

Laravel Eloquent Scope as Select Stop duplicating your Eloquent query scopes and constraints in PHP. This package lets you re-use your query scopes an

Protone Media 75 Dec 7, 2022
Podcastwala - Your very own Podcast web app built with Laravel. Manage and listen to your favorite podcasts

Podcastwala Your very own Podcast web app built with Laravel 5. This web app enables you to manage RSS feeds for your favorite podcasts and listen to

null 142 Sep 14, 2022
Using this site your can buy and sell your property.

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Hossain Mohammad Shahidullah Jaber 4 Nov 17, 2022
Laravel-OvalFi helps you Set up, test, and manage your OvalFi integration directly in your Laravel App.

OvalFi Laravel Package Laravel-OvalFi helps you Set up, test, and manage your OvalFi integration directly in your Laravel App. Installation You can in

Paul Adams 2 Sep 8, 2022
🧑‍🔬 The missing assertions for your views in your Laravel applications.

Laravel View Assertions The missing assertions for your views in your Laravel applications. Installation You'll have to follow a couple of simple step

Sven Luijten 4 Dec 21, 2022
Automatically load your helpers in your laravel application.

Laravel AutoHelpers Automatically load your helpers in your laravel application. Installation You can install the package via composer: composer requi

Florian Wartner 6 Jul 26, 2021
Llum illuminates your Laravel projects speeding up your Github/Laravel development workflow

Llum illuminates your Laravel projects speeding up your Github/Laravel development workflow

Sergi Tur Badenas 110 Dec 25, 2022
A package to keep track of your pages & understand your audience

A clean way to track your pages & understand your user's behavior Installation You can install the package via composer: composer require coderflexx/l

Coderflex 178 Jan 4, 2023
Enjoy realtime input validation by passing your rules in your input itself.

Laravel Realtime input Enjoy realtime input validation by passing your rules in your input itself. Requirments This package is tested with Laravel v8

Yemeni Open Source 50 Nov 20, 2022
Laravel Podcast is Laravel 5.5 web app that enables you to manage RSS feeds for your favorite podcasts and listen to the episodes in a seamless UI and User Authentication.

Laravel Podcast is Laravel 5.5 web app that enables you to manage RSS feeds for your favorite podcasts and listen to the episodes in a seamless UI and

Jeremy Kenedy 35 Dec 19, 2022
Create and manage A Domain Driven Design (DDD) in your Laravel app, simply and efficiently.

Create and manage A Domain Driven Design (DDD) in your Laravel app, simply and efficiently.

Lucas Nepomuceno 4 Jun 11, 2022
Easily add all the 58 Algerian Wilayas and its Dairas to your cool Laravel project (Migrations, Seeders and Models).

Laravel-Algereography Laravel-Algereography allows you to add Migrations, Seeders and Models of Algerian Wilayas and Dairas to your existing or new co

Hocine Saad 48 Nov 25, 2022