Điểm qua monicahq/customers: 17 sao trên GitHub, viết chủ yếu bằng PHP. The customer portal for Monica and OfficeLife
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
This is the customer portal for both Monica and OfficeLife, both open source web applications.
It allows customers to purchase a license that will let them use Monica and/or OfficeLife in production on the instance that we, the Monica organization, operates. This license is a product key that users must add to their accounts in order to use the product.
But first, let's answer some questions.
Why is this not part of the main Monica/OfficeLife codebase?
Monica and OfficeLife are open source and can be freely used by anyone who is crazy enough to setup, store and maintain a custom instance. For those who take this approach, it doesn't make sense to have any information about subscriptions, purchasing information,… in the same codebase as the main application.
Moreover, even if this customer portal doesn't store any credit card information, data in this portal are not stored in the same databases used by Monica and OfficeLife, reducing the risk in case of data breaches.
Why publish this code? People will be able to easily pirate this.
Yes. Of course, by publishing this code, it's easier to crack the key that we require to use an account. But users and companies who want to screw us will do it anyway. So, we trust that people will play the game and pay for the product so we can continue to improve it and make it a sustainable company.
How does that work?
Each account of Monica and OfficeLife needs a valid key to work. The key is an encrypted array that contains the following information:
validated until date: the date the key remains valid until,
the purchased plan,
the email address of the person who made the purchase.
The key is a JSON that is encrypted with a key that we, and only we, possess. Once the key is created, customers simply have to copy and paste the encrypted key to their accounts to validate it.
Every day, on either Monica or OfficeLife, we will check if we need to revalidate a key, depending on the frequency of the subscription - they can be either monthly or annual.
This check is a ping that originates from an OfficeLife or Monica instance, which will reach this customer portal. Obviously, no private information is ever exchanged during this check. This ping either replies with a HTTP 200 or HTTP 500, depending on the validity of the key.
📦 Installation
Honestly, there shouldn't be any reason why you would want to host this portal yourself. That being said, the project requires PHP 8.0 or higher, and everything that Laravel requires:
HTTP server with PHP support (eg: Apache, Nginx, Caddy)
Composer
MySQL
We do not support Postgre or SQLite.
You should clone this repository and run a few commands to get started:
composer install
yarn install
yarn build
Then you have to populate the .env file with your own setup. This file contains all the variables needed to run the software.
cp .env.example .env
php artisan key:generate
Finally, you have to populate your database by running migrations.
php artisan migrate
📦 Local installation
Paddle
If you want to test the portal locally, you need to create an account on https://sandbox-vendors.paddle.com/.
Then, update the following .env variables that you will find in your account:
PADDLE_VENDOR_ID
PADDLE_VENDOR_AUTH_CODE
PADDLE_PUBLIC_KEY
Now, to test the different webhooks, you need to listen to them. However, you are on local, so by default Paddle won't know how to reach you. Therefore, you need to create a tunnel between your local computer and Paddle. You can use https://expose.dev/ for this. They provide a free account.
Once you have your Expose account, go to https://sandbox-vendors.paddle.com/alerts-webhooks to configure your tunnel.
Launch expose share https://customers.test from your terminal, and now your local application will be able to receive webhooks from Paddle.
Monica and OfficeLife integration
To connect the API with Monica and/or OfficeLife, you need to generate API keys.
This is done with Laravel Passport. Just generate the client keys with:
monicahq/customers có 17 sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/monicahq/customers. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
monicahq/customers có những chủ đề gì?
GitHub topics của monicahq/customers: "hacktoberfest". TopGit xếp repo vào nhóm mã nguồn mở.
monicahq/customers còn đang phát triển không?
Commit gần nhất trên monicahq/customers là 2.2 năm trước (theo timestamp GitHub). Repo có 3 fork — một chỉ báo về mức độ quan tâm của cộng đồng.
monicahq/customers là gì?
monicahq/customers (monicahq/customers) là dự án PHP trên GitHub. Theo mô tả gốc: The customer portal for Monica and OfficeLife
monicahq/customers viết bằng ngôn ngữ gì?
monicahq/customers chủ yếu viết bằng PHP. Trường "language" của GitHub dựa trên phần lớn byte ở nhánh mặc định.
Đọc đầy đủ README ở tab phía trên.
Chưa chắc customers có hợp với bạn?
Để ChatGPT, Claude hoặc Perplexity tìm hiểu giúp — bấm bên dưới và xem AI nói gì về customers.