erikmcclure / bequeath.me Goto Github PK
View Code? Open in Web Editor NEWAn open-source payment platform
License: Apache License 2.0
An open-source payment platform
License: Apache License 2.0
At minimum, account for fixed hosting costs per month.
For cloud based hosting, this requires keeping track of bandwidth usage and demand, then picking an appropriate cloud tier on the service chosen and acquiring the monthly bill for that tier to inject as a monthly expense.
DMCA takedown requests should be routed, if possible, to the appropriate user, and then the user is allowed to respond. If they do not respond, automatically take down the content. If the user responds but the DMCA filing agent does not respond, the DMCA is marked resolved and nothing is taken down. If the filing agent responds again, it is elevated to moderator attention automatically because legal action must be necessary for further escalation.
If a DMCA takedown request is made without appropriate context, it can be checked by a moderator on the moderation page. All DMCAs are shown here, but DMCAs that have no apparent target user or were sent to the legally required DMCA safe harbor e-mail are highlighted.
Salaries must be at a lower priority than core fees necessary to keep the company running. Salary payout for contractors can ignore payroll taxes, but if the company hires an employee on payroll the expense calculator must withhold the payroll tax, social security tax, etc. portions of the paycheck and keep these amounts in the bank without allowing them to be used for the financial buffer. These withheld paycheck amounts must then be used by the tax calculator to pay appropriate payroll/social security/etc. taxes, or at least correctly figure out the amounts necessary, possibly by exporting to another service (e.g. TaxAct).
Yearly Fees
The website maintains a preproduction environment where all upgrades are tested. The PPE should clone the production database, then replace all Stripe IDs and paypal emails with verified fake test profiles. In PPE mode, any charge attempt should throw away the given customer ID and use a random test one instead no matter what, to act as a fallback ensuring no real transactions are ever made from the PPE.
In order to trigger an automated website upgrade, a commit must be code-reviewed by a majority of users with pull access to the repo, signed by them, and pass all the initial Travis CI tests. This will trigger a database clone from PPE and a git pull
, followed by running any database migration. If the build fails or the database migration fails at any point, the upgrade is canceled, the commit is marked "bad" and the process aborted. A series of additional integration tests are run on the new preproduction environment, including simulating a year's worth of random transactions and payouts. All of these tests must pass before a production maintenance window is scheduled.
The production server maintains a 24-day running average of the most active hours of the website on a weekly basis. When preproduction decides it has a working, verified build to push to production, the website schedules a maintenance task window for the next day during the least active hour of that day. An hour before maintenance starts, a full backup is performed and uploaded to an external server. The production server replaces the website nginx server with a "Down for maintenance" message and notifies twitter while it does a git pull
, database migration, and website rebuild.
At a later time, these maintenance windows can also update packages and the kernel if necessary. This requires a PPE environment on a completely different machine or VM such that it can test upgrading all of it's packages in addition to ingesting the new commit. If the package upgrade fails or the commit fails, it should roll back the package upgrades and re-try the commit. It can then direct production to either update it's packages to the specified versions (not just to whatever version happens to be out to avoid a race condition), or to hold them back until a commit is provided that does not cause a migration failure. If the package upgrading requires a server restart or an nginx restart, this should be done first, right after announcing it to twitter, so the maintenance message can go up.
A full test suite should be included with the website and integrated with Travis CI so that pull requests can be automated vetted as not breaking crucial website functionality. Any merge with the mainline must pass the initial Travis CI tests to trigger a preproduction ingestion scenario.
The discord bot exists only to detect whether or not a user appears to have gotten help or not. If no activity is detected, it will link them to the support e-mail to contact a human directly. It could also ping the moderators for the user in an attempt to notify them. It has the same logic as the twitter bot, and if the user mentions an error code it will also attempt to give them context if it thinks this might help, but it will always provide a way to contact a human for support.
A twitter account should be created with an automated bot that can respond to basic help inquiries and announces certain events.
Events to announce:
Basic Help Actions:
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.