{"id":17691285,"url":"https://github.com/vishaltelangre/wassup","last_synced_at":"2025-04-15T16:42:02.075Z","repository":{"id":41134470,"uuid":"227176173","full_name":"vishaltelangre/wassup","owner":"vishaltelangre","description":"Personal assistant to help you save your personal memories and emotions together, securely","archived":false,"fork":false,"pushed_at":"2023-01-05T03:58:49.000Z","size":1221,"stargazers_count":81,"open_issues_count":23,"forks_count":2,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-28T22:35:07.138Z","etag":null,"topics":["elixir-phoenix","emotions","journal","journal-notes","mood","mood-booster","mood-tracker","notes-keeper","wassup"],"latest_commit_sha":null,"homepage":"https://wassuphq.com","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vishaltelangre.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-10T17:19:30.000Z","updated_at":"2024-11-28T02:55:21.000Z","dependencies_parsed_at":"2023-02-03T10:01:34.712Z","dependency_job_id":null,"html_url":"https://github.com/vishaltelangre/wassup","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vishaltelangre%2Fwassup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vishaltelangre%2Fwassup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vishaltelangre%2Fwassup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vishaltelangre%2Fwassup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vishaltelangre","download_url":"https://codeload.github.com/vishaltelangre/wassup/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249110370,"owners_count":21214318,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["elixir-phoenix","emotions","journal","journal-notes","mood","mood-booster","mood-tracker","notes-keeper","wassup"],"created_at":"2024-10-24T12:08:09.139Z","updated_at":"2025-04-15T16:42:02.054Z","avatar_url":"https://github.com/vishaltelangre.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://user-images.githubusercontent.com/876195/71629118-ad39a300-2c21-11ea-80e7-33e999c756b2.png\"\u003e\n\n  \u003ch1 align=\"center\"\u003eWassup\u003c/h1\u003e\n\n  \u003cp align=\"center\"\u003e\n    A privacy-first open-source personal assistant to help\n    \u003cbr /\u003e\n    keep your personal memories and emotions together.\n  \u003c/p\u003e\n  \u003cp align=\"center\"\u003e\n    Wassup is \u003cstrong\u003eNOT\u003c/strong\u003e a social sharing platform where people tend\n    \u003cbr /\u003e\n    to fake their expressions and hide the real emotions.\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://user-images.githubusercontent.com/876195/71629219-5a142000-2c22-11ea-9df0-277398d3f2d6.png\"\u003e\n\u003c/p\u003e\n\n\u003ch2 align=\"center\"\u003e\n  Checkout the live demo at \u003ca href=\"https://demo.wassuphq.com/login\" target=\"_blank\"\u003ehttps://demo.wassuphq.com\u003c/a\u003e\n\u003c/h2\u003e\n\n- [Why use Wassup?](#why-use-wassup)\n- [Features](#features)\n  - [Currently available features](#currently-available-features)\n  - [Features that will be built eventually and will be available in future](#features-that-will-be-built-eventually-and-will-be-available-in-future)\n- [Local Development Setup](#local-development-setup)\n- [Production Setup](#production-setup)\n  - [Deploying on a VM (Digital Ocean, Linode, AWS EC2, etc.)](#deploying-on-a-vm-digital-ocean-linode-aws-ec2-etc)\n  - [Deploying on Heroku](#deploying-on-heroku)\n  - [Run in a Docker container](#run-in-a-docker-container)\n  - [Adding user(s)](#adding-users)\n- [Monetization](#monetization)\n- [Want to contribute?](#want-to-contribute)\n- [Team](#team)\n- [Thanks](#thanks)\n- [License](#license)\n\n## Why use Wassup?\n\nDid you ever want to have someone in your life\nwith whom you can share all your inner feelings?\nA feeling can be a note of any random thought,\nmemory of an experience or an incidence.\nWell, you may already have such a person in your life.\nBut not EVERYTHING can be expressed ALWAYS\neven with our beloved ones, too.\nRight?\nYou might be thinking that you can write down your feelings in a diary.\nYou may be doing that already.\nBut does that diary lets you express\nthe exact emotions\nthat you feel while noting down your feelings?\nDoes that diary let you know exactly\nhow you have been feeling recently?\nDoes that diary help you recognize\nwhat happened exactly that changed your mood?\n\nWassup can help you do all of these.\nBut listen, Wassup is not just a diary.\nWassup lets you express your mood\nwhen you note something in it.\nIt helps you determine how your mood\nhas been changing recently\nor during any period you ask it.\nWith Wassup, you can trace down any memory\nthat triggered a significant mood change.\nWassup offers many dumb yet powerful features like these\nwhich a real human personal assistant,\na beloved person in your life,\na note-taking software,\na diary\nor anything else\nthat can hardly help you to achieve the same.\n\nWassup's only goal is to keep you happy.\nIt shows you why you are not happy!\n\nWassup is NOT a social sharing platform like Twitter, Facebook, etc.\nThere is no feature such as public profile in Wassup.\nThere are no friends, no followers and nothing like that.\nOnly you can view your memories and emotions.\nIf you want, you can star or unstar your favorite memories.\nWassup keeps all of your information private\nand offers absolutely NO WAY to share anything with anyone.\n\nWassup is open-source and free software.\nYou can always see all of its code in daylight or night.\nIf you don't trust the hosted version of Wassup\nthen you can always grab its source code\nand host it yourself on your private server\nor on your local computer in your backyard.\nWe will not ask you for a penny\nfor hosting it yourself\nfor your personal and non-commercial use.\nImagine, it is a real deal.\n\n## Features\n\n### Currently available features\n\n- Simple, beautiful and responsive user interface\n- Easily add notes\n- Record sentiment while saving notes\n  \u003csub\u003e\u003csup\u003e(sentiment is automatically selected by analyzing the contents of\n  the note based on `afinn-165` algorithm)\u003c/sup\u003e\u003c/sub\u003e\n- Sends you an email reminder if you haven't saved a note for a while (configurable frequency)\n- Realtime dashboard\n- Dark/light mode\n- See recently saved notes on dashboard\n- See how your mood has been recently on the dashboard using helpful visual charts\n- See all your past notes\n- Export notes along with the mood/sentiment data\n- Filter notes by a (search) query\n- See (filtered) notes in between any date range\n- Ready made date range filters to list notes for today, yesterday, this week, this month, etc.\n- Easily paginate all the notes\n- A detailed mood chart\n- Ability to see notes directly on the chart\n- See sentiment chart between any date range of your choice\n- Edit notes and mood in-place\n- Easily star or unstar notes from various places\n- Sign in using email and password or social sign in using your Google account\n- (If you host Wassup yourself) ability to disable registration\n- (If you host Wassup yourself) ability to add users directly (from command-line interface)\n- Run in a Docker container\n\n### Features that will be built eventually and will be available in future\n\n- Import notes along with the mood/sentiment data\n- REST APIs to add, update and access your notes programmatically and securely\n- Google Chrome extension to add notes and see recent notes\n- Multi-language (internationalization) support\n- Simple desktop application to easily add notes and see recent notes\n- Native mobile application for popular platforms\n\n## Local Development Setup\n\nWassup backend is built using the Elixir language\nwith the help of the Phoenix web framework.\n\nPlease install Elixir on your platform\nby following instructions at https://elixir-lang.org/install.html.\n\nOnce Elixir is installed, you can clone this repository.\n\nEnsure that you have a PostgreSQL server running on your computer.\n\n1. Install Elixir dependencies with `mix deps.get`.\n2. Create and migrate your database with `mix ecto.setup`.\n3. Install NPM dependencies with `cd assets \u0026\u0026 npm install; cd ..`.\n4. Start the Phoenix server with `mix phx.server`\n   or with an interactive shell using `iex -S mix phx.server`.\n\nNow you can visit [`localhost:4000`](http://localhost:4000)\nfrom your browser to access the Wassup.\n\nNote that the seed user login credentials\ncan be found in [`priv/repo/seeds.exs`](./priv/repo/seeds.exs) file.\n\nIf you ever need to reset the seed data, run `mix ecto.reset`.\n\nIf you need to allow social sign-in using Google to Wassup,\nplease\n[follow this guide](https://github.com/wassuphq/wassup/wiki/Creating-an-OAuth-2.0-client-to-enable-sign-in-using-Google)\nabout creating an OAuth 2.0 client\nin Google API console.\nThen, create a `.env` file with the following environment\nvariables appropriately and restart the Phoenix server.\n\n\n```sh\n# Variables to allow signing in using Google\nexport GOOGLE_CLIENT_ID=\"YOUR_GOOGLE_CLIENT_ID_HERE\"\nexport GOOGLE_CLIENT_SECRET=\"GOOGLE_CLIENT_SECRET_HERE\"\nexport GOOGLE_REDIRECT_URI=\"http://localhost:4000/auth/google/callback\"\n```\n\nIn the `dev` environment,\nwe use `Bamboo.LocalAdapter` which stores the emails\nin memory\ninstead of sending them for real.\nCheck these emails anytime by visiting\n[`localhost:4000/sent_emails`](http://localhost:4000/sent_emails).\n\n## Production Setup\n\n### Deploying on a VM (Digital Ocean, Linode, AWS EC2, etc.)\n\n1. Export all the environment variables in [`.env.example`](.env.example) with the appropriate values on the host machine.\n2. Install production environment dependencies using `mix deps.get --only prod`.\n3. Compile the Elixir code using `MIX_ENV=prod mix compile`.\n4. Compile static assets with `npm run deploy --prefix ./assets` and then generate a static assets digest manifest using `mix phx.digest`.\n5. Create and migrate the database using `MIX_ENV=prod mix ecto.setup` and `MIX_ENV=prod mix ecto.migrate`.\n6. Start the Phoenix server using `MIX_ENV=prod mix phx.server` or in a detached or background mode using `MIX_ENV=prod elixir --erl \"-detached\" -S mix phx.server`.\n\n### Deploying on Heroku\n\nPlease follow the instructions at https://hexdocs.pm/phoenix/heroku.html to deploy to Heroku.\n\n### Run in a Docker container\n\n1. Use the latest pre-built Docker image `wassuphq/wassup:latest`.\n2. Copy [`.env.example`](.env.example) in a separate file (for example, `.env.docker`) by setting all the containing environment variables with the appropriate values.\n3. Ensure that the database is created and can be accessible inside a Docker container. (For example, if the database is installed and running in the host machine then that database cannot be accessed using `localhost` as the host. Instead specify the host machine's IP. If the host machine is a macOS, you can use `host.docker.internal` as the host in the `DATABASE_URL` environment variable's value.)\n4. Run a Docker container from the latest Docker image and execute migrations in it with this command.\n\n  ```sh\n  $ docker run               \\\n      --rm                   \\\n      --name wassup_migrator \\\n      --env-file .env.docker \\\n      wassuphq/wassup:latest \\\n      bin/wassup_app eval \"WassupApp.Release.migrate\"\n  ```\n5. Now run the app as follows. It can be accessed on the host machine on port `4000`.\n\n  ```sh\n  $ docker run               \\\n      --rm                   \\\n      --expose 4000:4000     \\\n      --name wassup_app      \\\n      --env-file .env.docker \\\n      wassuphq/wassup:latest \\\n      bin/wassup_app start\n  ```\n\n### Adding user(s)\n\nWassup offers the `mix create_user` task\nto add user(s) using command line interface.\nThe accounts of the users created using this mix task\nwould be automatically marked as verified,\ntherefore these users would be able to sign-in\nto your hosted Wassup directly.\n\nRun `mix help create_user`\nto understand how to use this task properly.\n\nThe `create_user` mix task is really helpful\n  - when you have self-hosted Wassup\n  - and you have disabled registration using `REGISTRATION_DISABLED=false`\n    environment variable\n  - and you would like to register yourself (and/or your family members).\n\n## Monetization\n\nSoon, we will offer a paid hosted version of Wassup\nso you don't have to worry about hosting it yourself and maintaining it.\nThe paid version will use the same open-source code\nhosted in this Github repository.\nIn the future, to sustain this project\nwe might include some advanced and additional features\nin the paid version Wassup.\n\nPeople who contribute to this GitHub repository\n(with a pull request that adds value,\nthat gets merged — not a cosmetic change or a typo fix, for instance)\nwill also have access to the paid version for free.\n\nNote that you can also host and run Wassup yourself.\nDownload the code and run it anywhere.\nThe choice is yours.\nIt will cost you nothing if you host it yourself.\n\n## Want to contribute?\n\nWow, we really appreciate your help.\n\nFirst,\nif you don't mind,\nplease talk about Wassup with your family and friends.\nSo more people are aware of Wassup and start using it.\n\nWe welcome contributions of all sorts.\n\nIf you find any bug or facing an issue with Wassup,\nplease report it on [issue tracker](https://github.com/wassuphq/wassup/issues/new).\n\nDo you want to fix a bug,\nimplement a feature\nor fix the documentation\nthen feel free to fork this repository and send a pull request.\nIf it looks good to us,\nwe will surely merge your pull request.\n\n## Team\n\nThe Wassup project is managed and maintained by\n[@vishaltelangre](http://github.com/vishaltelangre).\n\n## Thanks\n\n- The Wassup logo (both long and short versions), favicon image as well as the branding page cover illustration is made by Priyanka Vishal Telangre.\n- Vector icons used in Wassup have been download from https://openmoji.org and http://svgicons.sparkk.fr. We would like to thank the authors for these amazing icons.\n- The charts are rendered using the https://www.amcharts.com library. We appreciate the authors of this powerful and beautiful chart library.\n\n## License\n\nCopyright (c) 2019-2020 Vishal Telangre and contributors. All Rights Reserved.\n\nThis project is licensed under the [AGPL License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvishaltelangre%2Fwassup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvishaltelangre%2Fwassup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvishaltelangre%2Fwassup/lists"}