* Improve format and clarity of the docs [ci skip] While this change produces a lot of git noise by enacting what seems like an arbitrary linewrap on most of the files in the documentation it will result in better version control and tracking of the changes in the documentation. For example, as it currently stands, if one was to make a PR to move a comma in a sentence because each paragraph in most of the files is on a single line, that small change would look in the git history like the author had modified the entire paragraph. In reality, this author just moved a comma. This change also includes a significant number of modifications to the more article-esque docs. Many of these docs were written in a sort of stream-of-conciousness and aren't as easy to read as they could be. Hopefully this is the first of several readability changes. If we could get these docs to a more accessible reading level, we would probably see an increase in contributions. :) * Delegate markdown wrapping to Prettier * Add linewrapping explanation in the docs [ci skip]
53 lines
2.5 KiB
Markdown
53 lines
2.5 KiB
Markdown
---
|
|
title: Stack
|
|
---
|
|
|
|
## 🔑 Key App tech/services
|
|
|
|
For the Dev.to tech stack we use:
|
|
|
|
- [_Puma_](https://github.com/puma/puma) as the web server
|
|
- [_PostgreSQL_](https://www.postgresql.org/) as the primary database
|
|
- [_Redis_](https://redis.io/) to store additional data and eventually replace
|
|
memcache
|
|
- [_Fastly_](https://www.fastly.com/) for [edge
|
|
caching](https://dev.to/ben/making-devto-insanely-fast)
|
|
- [_Cloudinary_](https://cloudinary.com/) for image manipulation/serving
|
|
- [_Airbrake_](https://airbrake.io/) for error monitoring
|
|
- [_Timber_](https://timber.io/) for logging
|
|
- [_Delayed Job_](https://github.com/collectiveidea/delayed_job) and [_Active
|
|
Job_](https://guides.rubyonrails.org/active_job_basics.html) for background
|
|
workers
|
|
- [_Algolia_](https://www.algolia.com/) for search
|
|
- [_Redcarpet_](https://github.com/vmg/redcarpet) and
|
|
[_Rouge_](https://github.com/jneen/rouge) to parse Markdown
|
|
- [_Carrierwave_](https://github.com/carrierwaveuploader/carrierwave),
|
|
[_Fog_](https://github.com/fog/fog-aws) and [_AWS
|
|
S3_](https://aws.amazon.com/s3/) for image upload/storage
|
|
- [_InstantClick_](http://instantclick.io/) (a modified version) instead of
|
|
_Turbolinks_ to accelerate navigation
|
|
- [_ImageMagick_](https://imagemagick.org/) to manipulate images on upload
|
|
- [_Heroku_](https://www.heroku.com) for hosting
|
|
- [_Heroku scheduler_](https://devcenter.heroku.com/articles/scheduler) for
|
|
scheduled jobs
|
|
- [_Sendgrid_](https://sendgrid.com/) for transactional mailing
|
|
- [_Mailchimp_](https://mailchimp.com/) for marketing/outreach emails
|
|
- [_Figaro_](https://github.com/laserlemon/figaro) for app configuration
|
|
- [_CounterCulture_](https://github.com/magnusvk/counter_culture) to keep track
|
|
of association counts (counter caches)
|
|
- [_Rolify_](https://github.com/RolifyCommunity/rolify) for role management
|
|
- [_Pundit_](https://github.com/varvet/pundit) for authorization
|
|
- [_Service
|
|
Workers_](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers)
|
|
to proxy traffic
|
|
- [Preact](https://preactjs.com/) for some of the frontend. See [the Frontend
|
|
Guide](/frontend) for more info
|
|
- [_Pusher_](https://pusher.com) for realtime communication between the
|
|
application and users' browsers
|
|
- [_GitDocs_](https://gitdocs.netlify.com) for beautiful and SEO-friendly
|
|
documentation
|
|
- [Git](https://git-scm.com/) for version control
|
|
- [GitHub](https://github.com/) for hosting the source code and issue tracking
|
|
|
|
_This list is non-exhaustive. If you see something that belongs here, feel free
|
|
to add it._
|