[DOCS][Developer] Add an introduction

This commit is contained in:
Diogo Peralta Cordeiro 2021-08-17 20:19:26 +01:00 committed by Hugo Sales
parent afd00fbdc5
commit 1419035076
Signed by: someonewithpc
GPG Key ID: 7D0C7EAFC9D835A0
2 changed files with 28 additions and 0 deletions

View File

@ -1,5 +1,6 @@
# Summary
- [Introduction](./introduction.md)
- [Architecture](./architecture.md)
- [Programming Style](./paradigms.md)
- [Exceptions](./exceptions.md)

View File

@ -0,0 +1,27 @@
# GNU social Developer's handbook
The book in your hands was written to teach you
the art of contributing to the GNU social codebase.
It starts by introducing the Modules system and architecture,
then the plugin development process and finally the exciting internals
of GNU social for those looking forward to make the most advanced contributions.
# What you need to dive in
At least a webserver such as [nginx](https://nginx.org/) and a DBMS such as [postgresql](https://www.postgresql.org/).
Depending on what you want to do, you may want to setup a queues (and caching) system such as [redis](https://redis.io/).
To learn how to set all of that up, you may refer to the [System Administrator's handbook](/administrator).
Understand that this book assumes prior programming knowledge, if that doesn't sound like you, refer to our [study
resources](https://www.gnusocial.rocks/soc/study_resources.html) to get started.
# The other documentations are equally relevant to a developer
The [User](/user) one is intended to illustrate the various common use cases, possibilities regarding customization and introduce the existing functionalities.
The [Administrator](/administrator) one explains the step by step of how to install and maintain a GNU social instance, be it as node of The Free Network or as an intranet social network in a company setting.
The [Designer](/designer) one is an in-depth overview of the design motifs, and the design language used. Useful for creating new plugins and help as a basis for new themes.