update documentation
This commit is contained in:
parent
d2aa6af62f
commit
b8ffeb5748
2 changed files with 83 additions and 1 deletions
35
README.md
35
README.md
|
@ -2,8 +2,30 @@
|
||||||
|
|
||||||
**I'll be there, 2** is an oversimplified application to register attendees at a conference or event.
|
**I'll be there, 2** is an oversimplified application to register attendees at a conference or event.
|
||||||
|
|
||||||
|
Basic workflow:
|
||||||
|
- if you want (not mandatory), login with your user; to create a new user, simply choose a username and a password. Benefit of logging in: only you or admins can edit/delete your entries.
|
||||||
|
- pick a date
|
||||||
|
- choose the name of a new group
|
||||||
|
- write your name
|
||||||
|
- rinse and repeat
|
||||||
|
|
||||||
|
It's recommended to login with username '''admin''' and password '''ibt2''', go to your personal page and change the password, if you've just installed ibt2.
|
||||||
|
|
||||||
## Run, develop and debug
|
## Run, develop and debug
|
||||||
|
|
||||||
|
To install it:
|
||||||
|
``` bash
|
||||||
|
wget https://bootstrap.pypa.io/get-pip.py
|
||||||
|
sudo python get-pip.py
|
||||||
|
sudo pip install tornado
|
||||||
|
sudo pip install pymongo
|
||||||
|
sudo pip install python-dateutil
|
||||||
|
git clone https://github.com/raspibo/ibt2
|
||||||
|
cd ibt2
|
||||||
|
```
|
||||||
|
|
||||||
|
Installation of [Node.js](https://nodejs.org/en/download/) and npm is left as an exercise to the reader.
|
||||||
|
|
||||||
To run it:
|
To run it:
|
||||||
``` bash
|
``` bash
|
||||||
# install dependencies (one time only)
|
# install dependencies (one time only)
|
||||||
|
@ -26,17 +48,28 @@ npm run devserver &
|
||||||
|
|
||||||
# serve with hot reload at localhost:8080
|
# serve with hot reload at localhost:8080
|
||||||
npm run dev
|
npm run dev
|
||||||
|
|
||||||
|
# only when the devserver is running, you can also run the testsuite
|
||||||
|
python ./tests/ibt2_tests.py
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
Development
|
||||||
|
===========
|
||||||
|
|
||||||
|
See the *docs/DEVELOPMENT.md* file for more information about how to contribute.
|
||||||
|
|
||||||
|
|
||||||
Technological stack
|
Technological stack
|
||||||
===================
|
===================
|
||||||
|
|
||||||
- [VueJS](https://vuejs.org/) for the webApp
|
- [VueJS](https://vuejs.org/) for the webApp
|
||||||
- [Vue Material](https://vuematerial.github.io/) for the UI components
|
- [Vue Material](https://vuematerial.github.io/) for the UI components
|
||||||
|
- [vue Datepicker](https://github.com/charliekassel/vuejs-datepicker) for the datepicker
|
||||||
- [Tornado web](http://www.tornadoweb.org/) as web server
|
- [Tornado web](http://www.tornadoweb.org/) as web server
|
||||||
- [MongoDB](https://www.mongodb.org/) to store the data
|
- [MongoDB](https://www.mongodb.org/) to store the data
|
||||||
|
|
||||||
The web part is incuded; you need to install Tornado, MongoDB and the pymongo module on your system (no configuration needed).
|
The web part is incuded; you need to install Node.js, Tornado, MongoDB and the pymongo module on your system (no configuration needed).
|
||||||
|
|
||||||
|
|
||||||
License and copyright
|
License and copyright
|
||||||
|
|
49
docs/DEVELOPMENT.md
Normal file
49
docs/DEVELOPMENT.md
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
ibt2 development
|
||||||
|
================
|
||||||
|
|
||||||
|
Paths
|
||||||
|
=====
|
||||||
|
|
||||||
|
Webapp
|
||||||
|
------
|
||||||
|
|
||||||
|
These are the paths you see in the browser (VueJS does client-side routing: no request is issued to the web server, during navigation, if not for fetching data and issuing commands):
|
||||||
|
|
||||||
|
- / - home; will redirect to the entry for today
|
||||||
|
- /#/day/:day - show groups for the given date (in yyyy-mm-dd format)
|
||||||
|
- /#/user/ - list of all users (only visible by admins)
|
||||||
|
- /#/user/:user - show setting for the give user ID
|
||||||
|
|
||||||
|
Web server
|
||||||
|
----------
|
||||||
|
|
||||||
|
Database layout
|
||||||
|
===============
|
||||||
|
|
||||||
|
Information are stored in MongoDB. Whenever possible, object are converted into native ObjectId.
|
||||||
|
|
||||||
|
attendees collection
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
|
||||||
|
Code layout
|
||||||
|
===========
|
||||||
|
|
||||||
|
The code is so divided:
|
||||||
|
|
||||||
|
+- ibt2.py - the Tornado Web server
|
||||||
|
|
||||||
|
|
||||||
|
Coding style and conventions
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
It's enough to be consistent within the document you're editing.
|
||||||
|
|
||||||
|
I suggest four spaces instead of tabs for all the code: Python (**mandatory**), JavaScript, HTML and CSS.
|
||||||
|
|
||||||
|
Python code documented following the [Sphinx](http://sphinx-doc.org/) syntax.
|
||||||
|
|
||||||
|
|
||||||
|
not-so-FAQs
|
||||||
|
===========
|
||||||
|
|
Loading…
Reference in a new issue