monicahq / monica Goto Github PK
View Code? Open in Web Editor NEWPersonal CRM. Remember everything about your friends, family and business relationships.
Home Page: https://beta.monicahq.com
License: GNU Affero General Public License v3.0
Personal CRM. Remember everything about your friends, family and business relationships.
Home Page: https://beta.monicahq.com
License: GNU Affero General Public License v3.0
A core challenge of any product is that every user is different, and if you satisfy all of them you face feature bloat. I'd like to open the floor to dicussing the idea of implementing a modular metadata system for person records.
Ultimately, every user of the app has different metadata they care about. Additionally, within a single user account you have different types of people: family, coworker, gym buddy, etc. It doesn't make sense to add the "favorite workout" or "job title" field to every single person. As such, I feel it would be a neat solution to allow users to add templates for people. As long as the core UI framework is capable of supporting the different types of values, from a developer standpoint your work is done.
In my opinion, three types of metadata inputs are enough:
Common patterns can be combined into templates, such as "coworker" or "gym buddy", and selected when creating a new person.
What do you think? It makes the API a bit more complex, since you have unstructured data, but ultimately this provides freedom to all users to manage data the way they prefer.
This would be to support our non-binary folks out there
Allowing users to make a note on all the great things a contact has done...including themselves.
The primary inspiration behind this feature came from an article I was reading. Inside the article, it mentioned that I should take a note of all the times I did something awesome because when I'm sad, I can look back at all the awesome stuff I've done...
So an accomplishment feature would be great to solve this.
Thoughts and opinions anyone?
This project would greatly benefit from a Dockerfile
, as well as a docker-compose.yml
for easy onboarding of new developers. I for one am unfamiliar with the Laravel ecosystem, so this would be of great help.
Most people have more than one email and phone number, plus websites, twitter username.
I think adding something were we have a either a table for each type of data like the email table, address table, phone number table and so on. That might not scale well so an alternative is to make a general person metadata table and have a name and value column relating to one person.
The second approach isn't great database design but allows for any data to be stored about a person.
I am looking forward to getting this going with a pull request or two but any wondering what everyone thinks is the better way to go
Country dropdown has 17010 (!) options, with lots of duplicates in the list.
This affects production, and is caused by the county seeding not truncating the table beforehand. PR created, untested but looks trivial.
What kind of help are you looking for with testing? I have recently had some experience with Selenium and Sauce Labs for UI testing (using Python) and might be interesting in helping out.
From HN (source):
Make the <title> of the page the person you are looking at, really helps with multiple tabs.
It may make sense to remove the Google Analytics and Intercom scripts if no keys were specified in the .env file.
I noticed here: https://github.com/monicahq/monica/blob/2e6760e7dbcccd5375707ce1b7ce9c099f40f4b7/app/Jobs/SendNewUserAlert.php
You have the new user alert static, and not using an environment variable. Not only does this result in you being sent notifications for everyone's instances with functional outgoing email, it exposes potentially private information.
As an aside:
Line 58 in 2e6760e
Should probably use environment variables here.
"Create 2 databases: monica and monica_test" in the Readme is vague. Which commands do you run? php artisan make:migration monica
and php artisan make:migration monica_test
?
Would like to use this for my parents/grandparents, but they're too old for this date. Thanks!
On the main page, the two buttons “What's coming” and “Latest actions” are somehow broken.
We can click on them to switch tabs but their state doesn't change (the first one is always selected).
How to reproduce the issue
Thanks for building this!
Here's what I did:
Adding a debt with a contact will always say "You owe $x" regardless if you select "You owe contact" or "Contact owes you"
It would be nice to have options to automatically populate the database from either files (eg. CSV) or third parties (eg. Google Contacts with the People API).
I would highly appreciate an option / setting / config parameter to completetly turn off new registrations. At the moment it seems that everyone that has access to the instance I set up can create an account and start adding contacts.
Even if the app separates all the data saved for users I would feel uncomfortable to know anybody could use my app. Possible problem: security issues and access to an other users data via exploits. Not cool.
Such an option would just disable the register controller and remove the sign up button from the login page.
It would be useful to have an "export data" function that would export all the data held by an account into a JSON file. Of course this should be API-callable for automation purposes.
Feedback from user:
Please add an option to set relationship to a person ( wife, husband, son , friends)
I have quite a few friends whose birthdays I know, but ages I do not know.
It'd be nice to be able to save those dates without having to define an age for them!
Phone Number should be a tell:// link for mobile viewing.
I might try to attempt this myself, but I wanted to open an issue to indicate interest, specify requirements, and point out the benefits.
Sandstorm is an app hosting platform that allows users to easily run their own web apps as simply as installing apps on their phone, and it avoids the developer having to bear the burden of maintaining a web service. Read more here: https://sandstorm.io/developer
As a single user app, I expect this to port fairly cleanly. The issues that need to be addressed for are as follows:
Sandstorm.io manages authentication for users, so the authentication in Monica would need to be disabled in the Sandstorm package.
My brief read mentioned that Monica sends emails, and that would need to be replaced with Sandstorm's notifications API.
Even if it's only read only, it would be an easy way to synchronize contact data and events from Monica with mobile devices.
If you indicate an exacte birthdate for this person, we will create a new reminder for you - so you'll be notified every year when it's time to celebrate this person's birthdate.
Tldr: Please provide a drop-in Zipfile of the project (including a basic installer), which is useable in a simple php webhosting environment with nothing more than a sftp upload and a single mysql database (no node.js or composer available).
That way it is very easy for the project to gain a wider audience.
A possible way could be to compile everything needed by hand and zip it or by an CI job as suggested by @adrum below:
As far as releases go, we could add a TravisCI build to automatically fetch/build all the dependencies and place them where they need to build. The .tar.gz or zip would then be available in the releases section of the repo.
old description which started the whole discussion :)
Hi!
This is a really nice project - i was totally excited and eager to test it out, until ....i read the setup procedures...
I am a professional php developer for years. I am able to create complex network and server setups inside and outside of the "cloud" and i am using most of your mentioned tools on a daily basis for quite some time - i am one of those people, who are able to setup this project without a problem.
I just don't see why small and promising projects like this one need to choke themselves on compiling css, having nodejs installed, setting up virtual machines or (soon(tm) ..pls not) providing docker stuff.
How about just simple php and css? Lamp stack anyone? Please make it fancy and please go ahead and use composer - maybe with a tarball, where all the composer files are already provided.
Just think about all the people out there with a limited php hosting package or a toyserver/raspberry at home with a spare-time-understanding of setting up stuff like wordpress. They will be eager to use it - that's why wordpress is so successful.
Thanks alot and keep up the good work!
Happens on every Facebook authentication link on https://monicahq.com/
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.
I should be able to add an existing Person entry as a significant other.
As a user with many friends to add, I'd like to be able to quickly get all the basic info for people who matter to me into the system in as few interactions as possible.
Some ideas:
It should be possible to delete a Person.
I'll be interested in creating a docker and kubernetes compatibile image for monica. Will be a bit busy though, so if it's not done feel free to do so on your own.
Goto https://app.monicahq.com/register and click on Privacy Policy link on the bottom of the screen.
Currently i am only able to create kids inside of a contact.
I like to have the kids as own contacts and maybe even link contacts together, when i have the kids first and the parents later as my contacts.
Thanks!
It would be nice to have the "search" function that is able to pull from all data on Monica
At the moment you can only enter numeric digits for a phone number. I like to be able to store phone numbers in E.164 format - https://en.wikipedia.org/wiki/E.164 - as they are more interchangeable.
This allows us to specify phone numbers like:
'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.
Currently the "Journal" and "Activities" are separate. That seems rather artificial - how about merging them and allowing journal entries to link one or more people to them?
And for extra credit: allow linking people using Markdown syntax from the journal entries, e.g.
I met [Mon](Monica Geller) on the street and talked to her about such-and-such. Then we met [Joey](Joey Tribbiani and the three of us had coffee.
I'm actually still in the process of setting up Monica on my machine, but from what I read in the Readme, it only mentioned that the means for communicating events to user is by email. Rather than email, I think making chatbot would make this software more accessible to many people (for instance, its more common for people from my country to access chat apps rather then their email).
From what I know, implementing chatbot notification is rather easy nowadays. From what I have tried in Telegram, its only a matter of implementing some simple REST API call. I think this is pretty similiar for Slack or LINE (I don't actually have any experience in both apps, but I think it should be).
Nonetheless, many appreciations for all Monica Contributors!
Feature Request - Option to link Significant Others or Children to already created contacts
The gender field seems to be required on records wherever it is present, and only has male/female choices. This forces me to enter bad data where I don't know someone's gender or they identify as some other gender.
Ideally it would be nice to allow other values and 'unknown', but at a minimum making that field optional would at least avoid forcing the user to include known bad data.
(Given the subject matter, I really hope this doesn't become a flamewar...please feel free to lock/delete if it is in danger of doing so. And for the record, and perhaps in hope of averting that, I'll say that this is an actual issue that came up for me when trying the app with online contacts where I don't even know their gender for certain, and some friends who specifically identify as some non-binary option, not an "improve the world with social justice issue.")
It's currently limited to 50 years of age. I know people that are older than that.
Most links in CONTRIBUTING.md
point to
https://github.com/djaiss/monica...
instead of
https://github.com/monicahq/monica...
and need to be updated to the right ones.
Throughout the code and UI, the term 'preferencies' is used rather than the correct spelling 'preferences'. While this is fine (your choice) for class names and variable names, it looks like the French made it into the English UI.
The register page links to /privacy
, which doesn't exist. It should probably link to http://monicahq.com/privacy.html instead, at least for the hosted version of Monica.
getting a The redirect_uri URL must be absolute
error when trying to use Facebook openauth on initial signup page
Timezone: it shouldn't default to UTC -05:00. Maybe guess based on
user location?
Gender: it shouldn't default to man. I don't want my contacts to be
men by default (it should probably be an option field).
In a contact page, in "PERSONAL INFORMATION": I can see that
"Birthdate is not set." However, the edit button is easy to miss.
"Edit personal information": Why does the country default to US?
Is there a way to enter the birthdate without the year. I sometimes
know when someone's birthday is, but remembering the year is more
difficult.
Apparently, the format for birthdate is MM/DD/YYYY. This is very
confusing for me and there's no indication in the UI. Ideally, there
should be an option in the settings + the format description in the
page.
In the main page, "Latest actions" shows the date as: YYYY-MM-DD. This
is not consistent with the birthdate.
FOOD PREFERENCIES: I instinctively entered one information per line.
Line returns are not shown in the profile page.
Debts: Why is it in dollars? I don't use dollars.
Journal: it's not clear why I'd want to use it. It doesn't seem
related to contact management. Maybe there should be a way to link a
story with people. Then, show the story on the person's page?
The Kid/Significant other feature doesn't seem useful, because they
are not treated as real people. Treat them as real people, and add
link information (I think it's
#19).
I've checked the French version, it looks like half of the text is
still in English.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.