-
Notifications
You must be signed in to change notification settings - Fork 45
Badgr_Migration
As specified in issue #159, badgdekit hasn't been very stable and it is not being actively developed anymore, so a new badges issuing/earning service is needed.
WIP: Please note this is a work in progress, only started in May 2016.
This is a bit of a brain dump to start organising the work to be done. As this is being written a number of potential tasks will be highlighted as > Task: Description
, and after discussion, they will be added to the issues list (with a tag similar to badgr_migration).
Badgr-server is the code behind Badgr.io. It is open source and maintained by Concentric Sky. It is a Django application that uses React for the front end. It provides a RESTful like API, which is the core of the work for this project (to wrap the API in nodejs modules). WIP
We also looked at Credly. Nice docs and support, but it is a commercial service only (nothing bad with that), and there's no way to host your own server, so development has to be done against their server. WIP
More stuff here. WIP
Install, Admin, Development tricks. WIP
The installation instructions for badgr-server are not very complete. You can try and install it manually on your machine by following their readme.
If you use Docker, the local-badgr-server project provides a Dockerfile and instructions on how to build an image and use it, based on Ubuntu 14.04.
It should be easy to create a bash script for linux/mac based systems (pull requests welcome, and help much appreciated) from the instructions in that Dockerfile, probably making use of virtualenv (as explained in the current script) if the server will be installed with other software.
Task: Create install script if needed.
Task: Install test server or prod server instead of the current badgekit service (automate this). Figure out testing setup as described in #75.
The badgr-server has an admin site (Django default) that can be accessed at 'YOUR_SERVER/staff'. The usual access to data in the DB is available, along with users data, permissions, and so forth.
Once there is a test server for PaperBadger, contributors may not need to install Badgr locally if they do not wish to do so (that's how badgekit works right now). For those wanting to keep everything contained, not having to talk to external services for development, the Dockerfile will be helpful. This section will be updated when details about the test server are discussed/finalised.
All accounts in badgr-server need to be verified by email. The server logs to STDOUT the contents of the email being sent, so there's no need to install a mail server or provide one. The URL for validation can be cut directly from the log output and pasted in the browser for validation.
Developing nodejs modules to wrap the badgr APIs. It may be just one module, or may be useful to split functionality in something like badgr-auth, badgr-issuer, badgr-earner, maybe some baking functionality as a module too (TBD). WIP
Task: create nodejs module(s)