Giter Club home page Giter Club logo

p2k16's Introduction

Getting started without Docker

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.

Creating SQL migrations

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.

Thoughts

  • 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

Door access

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 migration

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.

TODOs before deploying in prod

  • Implement recover password feature so people can create passwords in p2k16. Parts:
    • Request new password
    • Send by email
    • Set new password
    • Create some @annotations to do simple circle membership checks. To be used after @registry.

TODOs before dropping p2k12

  • Migrate data from p2k12 database
  • Actually open doors.

TODOs post production / p2k12 migration

  • Fix bitraf.no graph

TODOs (fix at any time)

Badge system

Motivation

  • 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

Examples

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

p2k16's People

Contributors

drerik avatar haavares avatar jonnor avatar mastensg avatar trygvis avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.