Colophon
Welcome, fellow nerds!
Tech stack
Curious about our tech stack? LFG Directory is powered by:
- Django: The awesome Python web framework.
- PostgreSQL: The dreamy open source database.
- Redis: Our caching, task queuing, and session manager.
- Elasticsearch: Search engine.
- Foundation: Our frontend framework.
- Apache: our webserver.
- Mailgun: for sending emails.
- SimpleMDE: The Javascript Markdown editor. (Although we sanitize input from this as the creators stubbornly refuse to disable html)
- Fullcalendar: for beautiful calendar displays.
- Sentry: for error capture and analysis.
Additional Django applications
We utilize several wonderful community Django applications to help with portions of the functionality. These include:
- django-allauth: for social login via Discord.
- django-rules: Powerful object permission management.
- django-compressor: For helping manage static assets.
- django-q: for asynchronous task processing.
- django-haystack: for managing search.
- django-scheduler: provides the base models that our calendaring tools are based on.
- django-notifications: for managing notifications.
- django-anymail: for integration with Mailgun
- django-postman: for in-app messaging.
- django-avatar: for managing user avatars.
- django-star-ratings: for managing user ratings of games.
- django-foundation-formtags: for easy integration with our frontend.
- django-allow-cidr: to help with our internal AWS health checks.
- django-model-utils: So useful.
- django-braces: incredibly handy view mixins.
- django-taggit: For tag management.
- django-environ: for helping to keep LFG a twelve-factor app.
Infrastructure
LFG Directory is hosted in an AWS Virtual Private Cloud (VPC).
- All connections require HTTPS.
- All of the data in the database is encrypted both in transmission and at rest.
- Our database and web servers reside in private subnets and application severs are only accessible to the outside world via our AWS load balancer.
- Our database is replicated automatically to an additional availability zone in case of hardware failure.
- Only public data such as our RPG Catalog data and public game data is indexed for search.