Overview » History » Version 5

Version 4 (Alexander Blum, 01/27/2020 05:57 PM) → Version 5/26 (Alexander Blum, 01/27/2020 05:58 PM)

{{toc}}

# Overview

* [Roadmap](https://redmine.c3s.cc/projects/repertoire/roadmap) -- Deployment plan
* [[Usecases]] -- List of Usecases
* [[Specification]] -- Software specifications
* [[Estimates]] -- Estimates and benchmarks
* [[Architecture]] -- Software architecture
* [[Databasemodels]] -- Database models
* [[Workflows]] -- System workflows
* [[Repositories]] -- List of repositories
* [[Scripts]] -- Additional scripts
* [[Monitoring]] -- Monitoring of machines and services
* [[Backup]] -- Backup strategy
* [[HowTo]] -- Guidances for development

# Components

## Tryton

* [[Databasemodels#Tryton|Databasemodel]] -- Database model
* [[Workflows#Cascades|Cascades]] -- Cascades of DB operations
* [[HowTo#Tryton|HowTo]] -- Guidances for development with tryton

## Pyramid

* [[Conventions]] -- Coding conventions
* [[Pyramid Concepts|Concepts]] -- Concepts
* [[Pyramid Web Views|Web Views]] -- List of Web views
* [[Pyramid API Views|API Views]] -- List of Api views
* [[Pyramid ACL|ACL]] -- Access control

## Processing

* [[Specification#File-Processing|Specification]] -- Specification of processing
* [[Workflows#File-Processing|Workflow]] -- Workflow of processing
* [[Scripts#File-Processing|Scripts]] -- Scripts for processing

## Archiving

* [[Specification#Archiving|Specification]] -- Specification of archiving
* [[Databasemodels#Archiving|Databasemodel]] -- Database model
* [[Scripts#Archiving|Scripts]] -- Scripts for archiving

## Echoprint

* [[Databasemodels#Echoprint|Databasemodel]] -- Database model

# Contribution

## Entrypoint

1. [Connect](https://redmine.c3s.cc/projects/collecting_society/wiki/Overview#Communication) with us
2. [Read](https://redmine.c3s.cc/projects/collecting_society/wiki/Overview#Software) about the software
3. [Setup](https://github.com/C3S/collecting_society_docker#requirements) [Setup](https://github.com/C3S/c3s.ado.repertoire#requirements) the development environment
4. [Pick](https://redmine.c3s.cc/projects/collecting_society/issues) an open ticket
5. [Code](https://redmine.c3s.cc/projects/collecting_society/wiki/Convention#Convention) the task
6. [Ask](https://redmine.c3s.cc/projects/collecting_society/wiki/Overview#Communication) questions, if you get stuck
7. [Send](https://help.github.com/articles/using-pull-requests/) a pull request for review

## Helpful Skills

* Concepts
* [Audiofingerprinting](https://wiki.musicbrainz.org/Fingerprinting)
* [Distributed Systems](https://en.wikipedia.org/wiki/Distributed_computing)
* [RESTful APIs](https://en.wikipedia.org/wiki/Representational_state_transfer#Applied_to_web_services)
* Development Environment (Frontend / Backend)
* [Docker](https://www.docker.com/),
[Docker-Compose](https://docs.docker.com/compose/)
* Frontend
* [Python](https://www.python.org/)
* *Framework*:
[Pyramid](http://www.pylonsproject.org/)
* *Datastructures*:
[Colander](https://pypi.python.org/pypi/colander),
* *Forms*:
[Deform](http://deform2demo.repoze.org/)
* *API*:
[Cornice](https://pypi.python.org/pypi/cornice)
* *Templates*:
[Chameleon](https://pypi.python.org/pypi/Chameleon)
* *Tests*:
[Nose](https://pypi.python.org/pypi/nose/1.3.7),
[Webtest](https://pypi.python.org/pypi/WebTest),
[WebDriver](https://pypi.python.org/pypi/selenium)
* [Html](https://en.wikipedia.org/wiki/Hypertext_Markup_Language),
[CSS](https://en.wikipedia.org/wiki/Cascading_Style_Sheets),
[Javascript](https://en.wikipedia.org/wiki/JavaScript),
[Bootstrap](http://getbootstrap.com/),
[JSON](http://www.json.org)
* Backend / Database Abstraction Layer
* [Python](https://www.python.org/)
([Tryton](https://www.tryton.org/))
* Design ([Open Formats](https://en.wikipedia.org/wiki/Open_format#Examples_of_open_formats))
* Non-technical
* Usertests ([Patience](https://en.wikipedia.org/wiki/Copyright#Duration))
* Translations ([Language](https://en.wikipedia.org/wiki/List_of_indigenous_language_names))

## Communication

* Mailinglist: https://lists.c3s.cc/mailman/listinfo/hacking
* Chatroom: hacking@conference.jabber.c3s.cc (Jabber/XMPP)

## References

| | ref | doc | demo |
|---------------------|------------------------------|-----------------------------|-----------------------------|
| Conventions | | [doc][conventions_doc]
| Docker | [ref][docker_ref] | [doc][docker_doc]
| Docker-Compose | [ref][dockercompose_ref] | [doc][dockercompose_doc]
| Python | [ref][python_ref] | [doc][python_doc]
| Tryton | [ref][tryton_ref] | [doc][tryton_doc]
| Pyramid | [ref][pyramid_ref] | [doc][pyramid_doc]
| Colander | [ref][colander_ref] | [doc][colander_doc]
| Deform | [ref][deform_ref] | [doc][deform_doc] | [demo][deform_demo]
| Chameleon | [ref][chameleon_ref] | [doc][chameleon_doc]
| Cornice | [ref][cornice_ref] | [doc][cornice_doc]
| Unittest | [ref][unittest_ref] | [doc][unittest_doc]
| Nose | [ref][nose_ref] | [doc][nose_doc]
| WebTest | [ref][webtest_ref] | [doc][webtest_doc]
| WebDriver | [ref][webdriver_ref] | [doc][webdriver_doc]
| Bootstrap | [ref][bootstrap_ref] | [doc][bootstrap_doc]
| jQuery-File-Upload | [ref][jqueryfileupload_ref] | [doc][jqueryfileupload_doc]
| Datatables | [ref][datatables_ref] | [doc][datatables_doc]

[conventions_doc]: https://redmine.c3s.cc/projects/repertoire/wiki/Conventions
[docker_ref]: https://docs.docker.com/engine/reference/builder
[docker_doc]: https://docs.docker.com
[dockercompose_ref]: https://docs.docker.com/compose/compose-file
[dockercompose_doc]: https://docs.docker.com/compose
[python_ref]: https://docs.python.org/2/library/index.html
[python_doc]: https://docs.python.org/2
[tryton_ref]: http://doc.tryton.org/3.4/trytond/doc/ref/index.html
[tryton_doc]: http://doc.tryton.org/3.4
[pyramid_ref]: http://docs.pylonsproject.org/projects/pyramid/en/1.5-branch/api/index.html
[pyramid_doc]: http://docs.pylonsproject.org/projects/pyramid/en/1.5-branch/narr/introduction.html
[colander_ref]: http://docs.pylonsproject.org/projects/colander/en/latest/api.html
[colander_doc]: http://docs.pylonsproject.org/projects/colander/en/1.0-branch
[deform_ref]: http://deform.readthedocs.org/en/master/api.html
[deform_doc]: http://deform.readthedocs.org/en/master
[deform_demo]: http://deform2demo.repoze.org
[chameleon_ref]: http://chameleon.readthedocs.org/en/latest/reference.html
[chameleon_doc]: https://chameleon.readthedocs.org/en/latest
[cornice_ref]: http://cornice.readthedocs.org/en/latest/api.html
[cornice_doc]: http://cornice.readthedocs.org/en/latest/index.html
[unittest_doc]: https://docs.python.org/2/library/unittest.html
[unittest_ref]: https://docs.python.org/2/library/unittest.html#classes-and-functions
[nose_ref]: http://pythontesting.net/framework/nose/nose-fixture-reference
[nose_doc]: https://nose.readthedocs.org/en/latest/index.html
[webtest_ref]: http://webtest.readthedocs.org/en/latest/api.html
[webtest_doc]: http://webtest.readthedocs.org/en/latest
[webdriver_ref]: http://selenium-python.readthedocs.org/en/latest/api.html
[webdriver_doc]: http://selenium-python.readthedocs.org/en/latest/index.html
[bootstrap_ref]: http://getbootstrap.com/css
[bootstrap_doc]: http://getbootstrap.com/getting-started
[jqueryfileupload_ref]: https://github.com/blueimp/jQuery-File-Upload/wiki/Options
[jqueryfileupload_doc]: https://github.com/blueimp/jQuery-File-Upload/wiki
[datatables_ref]: https://datatables.net/reference/index
[datatables_doc]: https://datatables.net/manual/index