Install:
- virtualenv
- bower
Creating the database:
# sudo -u postgres psql -f database-setup.sql
Running the application:
# ./run-p2k16-web
This will fail unless you have the required applications installed.
We use Flyway (https://flywaydb.org) to manage the schema. Flyway is a upgrade-only, sql-only tool (at least in our setup) to manage SQL databases. We're smart and are using PostgreSQL which support transactional changes to the schema.
After checking out the code and creating the database, run ./flyway migrate
to migrate the database.
If you want to change the schema, create a new file under migrations/
called V001.NNN__clever_comment.sql
. If more
than one person is creating a schema at the same time you will get a conflict when the code is merged.
- Office users, support companies that give access to more than one user
- Certifications, allow users to have certifications.
- control and register access to items (for example doors, machines and equipment).
- Items have different requirements, the main door has active membership or being an office user
- A machine may require active membership and valid certification for the particular machine
The door application is migrated to the p2k16 site. Existing users won't be able to log in, but can be redirected to the p2k12 site to migrate their user
p2k12.bitraf.no authenticates people, on authentication it creates the user in p2k16 allowing them to set a new password.
p2k16 can read active memberships from p2k12 until the stripe code is moved.
- Implement recover password feature so people can create passwords in p2k16. Parts:
Request new passwordSend by emailSet new password- Create some @annotations to do simple circle membership checks. To be used after @registry.
- Migrate data from p2k12 database
Actually open doors.
- Fix bitraf.no graph
- Drop BIGSERIAL on _version tables. Should be BIGINT instead.
- Prevent updates to certain fields like Account.username. SQLAlchemy's event systems seems like a useful method: http://docs.sqlalchemy.org/en/latest/orm/events.html
- Enforce users have necessary course for dangerous machines
- Make holding courses more attractive
- Easier to find who knows what. Show a list/word cloud of the competence of the people who has recently checked in at Bitraf. On the front page, perhaps show a list of all active people's competence.
- Encourage people to be active members at Bitraf
Badges is a way to tell something about a user. They have no monetary value, but can have a lot of social value.
Certain badges are restricted so that they can only be given to a person by someone else (aka karma badges), and other badges are restricted so that only certain users can award them (for example course instructors).
Most badges can be awarded multiple times too.
Badge categories:
-
Competence levels
- laser cutter
- CNC-operator
- lathe
-
Interest areas:
- laser cutting
- woodworking
- metalworking
- soldering
- KiCAD, Eagle
- SMT
- PCB-etching
- oscilloscope
-
Karma badges
- Cleaner
- Dugnader
- Bitraf project fixer