{"id":20827308,"url":"https://github.com/realpython/members","last_synced_at":"2025-05-07T21:04:22.381Z","repository":{"id":67324591,"uuid":"65882854","full_name":"realpython/members","owner":"realpython","description":"learning management system for real python","archived":false,"fork":false,"pushed_at":"2017-01-08T15:36:56.000Z","size":526,"stargazers_count":5,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-07T21:04:17.138Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/realpython.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-08-17T06:45:15.000Z","updated_at":"2021-09-18T01:38:57.000Z","dependencies_parsed_at":"2023-06-10T22:30:15.939Z","dependency_job_id":null,"html_url":"https://github.com/realpython/members","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/realpython%2Fmembers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/realpython%2Fmembers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/realpython%2Fmembers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/realpython%2Fmembers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/realpython","download_url":"https://codeload.github.com/realpython/members/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252954408,"owners_count":21830902,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-17T23:11:44.638Z","updated_at":"2025-05-07T21:04:22.363Z","avatar_url":"https://github.com/realpython.png","language":"JavaScript","readme":"# Members\n\nJust a simple learning management system for textbook-like sites, powering Real Python.\n\n[![Build Status](https://travis-ci.org/realpython/members.svg?branch=master)](https://travis-ci.org/realpython/members)\n[![Coverage Status](https://coveralls.io/repos/github/realpython/members/badge.svg?branch=master)](https://coveralls.io/github/realpython/members?branch=master)\n[![bitHound Overall Score](https://www.bithound.io/github/realpython/members/badges/score.svg)](https://www.bithound.io/github/realpython/members)\n[![Code Climate](https://codeclimate.com/github/realpython/members/badges/gpa.svg)](https://codeclimate.com/github/realpython/members)\n[![dependencies Status](https://david-dm.org/realpython/members/status.svg)](https://david-dm.org/realpython/members)\n[![devDependencies Status](https://david-dm.org/realpython/members/dev-status.svg)](https://david-dm.org/realpython/members?type=dev)\n\n1. [Staging Server](https://fast-mesa-25213.herokuapp.com/)\n\n## Getting Started\n\n1. Fork/Clone\n1. Install dependencies\n1. Rename *.env-sample* to *.env* and then update\n1. Create the development and test Postgres DBs:\n  - `createdb members`\n  - `createdb members_test`\n1. Run development migrations:\n  - `knex migrate:latest --env development`\n1. Run seed:\n  - `knex seed:run --env development`\n1. Run server\n  - `gulp`\n\n## Commands\n\n1. Run dev server: `gulp`\n1. Run tests: `gulp test`\n1. Run tests with coverage: `gulp coverage`\n1. Create build: `gulp build`\n\n\u003e Run `gulp help` to list all available commands\n\n## Notes\n\nhttps://github.com/jbutko/ExpressJS-Socket.IO-AngularJS-Boilerplate\n\n1. Make sure to drop the database before running the seed!\n1. Updates (`development` and `testing` only):\n  - admin status: `curl -X PUT -d admin=true http://localhost:3000/users/\u003cUSERNAME\u003e/admin`\n  - active status: `curl -X PUT -d active=true http://localhost:3000/users/\u003cUSERNAME\u003e/active`\n1. Make sure to update the fixtures (*/test/fixtures/data.js*) whenever the DB schema is updated\n1. User auth flow -\u003e unregistered -\u003e unverified -\u003e active\n\n## Development Notes\n\n1. [Tasks](./tasks.md)\n1. [User stories](./stories.md)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frealpython%2Fmembers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frealpython%2Fmembers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frealpython%2Fmembers/lists"}