Initial documentation

This commit is contained in:
Raphael Michel
2014-09-08 15:54:08 +02:00
parent 820a68163d
commit 4689bdf337
10 changed files with 793 additions and 0 deletions

38
doc/development/goals.rst Normal file
View File

@@ -0,0 +1,38 @@
Development goals
=================
Tixl is a web software handling presale of event tickets.
Technical goals
---------------
* Python 3.4 features may be used, Python 3.2 is an absolute requirement
* Use Django 1.7+
* Be PEP-8 compliant
* Be fully internationalization, unicode and timezone aware
* Use a fully documented and reproducible setup
* Be fully tested by both unit and behaviour tests
* Use LessCSS
Feature goals
-------------
* One tixl software installation has to cope with multiple events by multiple organizers
* There is no code access necessary to create a new event
* Tixl is abstract in many ways to adopt to as much events as possible.
* Tickets are only an instance of an abstract model called items, such that the system can also sell e.g. merchandise
* An abstract concept of restriction is used to restrict the selling of tickets, for example by date, by number or by user permissions.
* Items can come in multiple flavors (like t-shirt sizes or colors)
* Items can require additional user input (like attendee names)
* The software is not only user, but also admin-friendly and provides a beautiful and time-saving interface for all admin jobs
* The software is able to import bank data, at least using CSV files with support for MT940 or later even HBCI
* There is the possibility to add more payment methods later, such as credit card payment, PayPal or even cash
* There is a flexible concept of payment goals which works well together with the restriction framework mentioned above
* There is the possibility to send out payment reminders
* There is the possibility to cancel orders
* There is the possibility of one user submitting multiple orders
* The user can download the ticket in PDF form, for which the admin can upload and customize a template without ever touching a line of code
* The system provides a variety of statistics
* The system provices export methods for multiple cashdesk/ticket validation systems

10
doc/development/index.rst Normal file
View File

@@ -0,0 +1,10 @@
Developer documentation
=======================
Contents:
.. toctree::
:maxdepth: 2
goals
setup

32
doc/development/setup.rst Normal file
View File

@@ -0,0 +1,32 @@
The development setup
=====================
Obtain a copy of the source code
--------------------------------
Just clone our git repository::
git clone https://github.com/tixl/tixl.git
cd tixl/
Your local python environment
-----------------------------
Please execute ``python -V`` or ``python3 -V`` to make sure you have Python 3.4 installed. Also make sure you have pip for Python 3 installed, you can execute ``pip3 -V`` to check. Then use Python 3.4's internal tools to create a virtual environment and activate it for your current session::
pyvenv env
source env/bin/activate
You should now see a ``(env)`` prepended to your shell prompt.
Working with the documentation
------------------------------
First, you should install the requiremente necessary for building the documentation. Make sure you have your virtual python enviroment activated (see above). Then, install the packages by executing::
cd doc/
pip install -r requirements.txt
To build the documentation, run the following command from the ``doc/`` directory::
make html
You will now find the generated documentation in the ``doc/_build/html/`` subdirectory.