{"id":21158332,"url":"https://github.com/simbo/brigidde","last_synced_at":"2025-03-14T15:27:19.969Z","repository":{"id":141795653,"uuid":"118652343","full_name":"simbo/brigidde","owner":"simbo","description":"A terminal-like progressive web app with angular client and hapi server.","archived":false,"fork":false,"pushed_at":"2018-05-16T09:46:37.000Z","size":1356,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-21T09:09:24.747Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/simbo.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":"2018-01-23T18:35:54.000Z","updated_at":"2018-03-28T13:43:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"7f14ca95-dd27-43bb-9b43-5f62bedcb26a","html_url":"https://github.com/simbo/brigidde","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/simbo%2Fbrigidde","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simbo%2Fbrigidde/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simbo%2Fbrigidde/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simbo%2Fbrigidde/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simbo","download_url":"https://codeload.github.com/simbo/brigidde/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243599848,"owners_count":20317180,"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-20T12:20:32.021Z","updated_at":"2025-03-14T15:27:19.949Z","avatar_url":"https://github.com/simbo.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"brigidde\n========\n\n  \u003e A terminal-like progressive web app with angular client and hapi server.\n\n---\n\n\u003c!-- TOC --\u003e\n\n- [Application goals [WIP]](#application-goals-wip)\n- [Development](#development)\n  - [Requirements](#requirements)\n  - [Prerequisites](#prerequisites)\n  - [Usage](#usage)\n  - [URLs](#urls)\n- [Features / ToDo [WIP]](#features--todo-wip)\n  - [Server](#server)\n  - [Client](#client)\n  - [General](#general)\n\n\u003c!-- /TOC --\u003e\n\n---\n\n## Application goals [WIP]\n\n  - [x] A terminal-like progressive web app.\n  - [x] You can run commands.\n  - [ ] You can interact with a human-like ai assistant.\n  - [ ] You can authenticate and connect with other users.\n\n\n## Development\n\n\n### Requirements\n\n`docker`, `docker-compose`, `make`\n\n\n### Prerequisites\n\nCreate your custom `.env` with your settings, api keys and secrets.\n\nStart off with a copy of `.env-sample`:\n\n``` sh\ncp .env-sample .env\n```\n\n\n### Usage\n\nThere's a `Makefile` for common dev tasks.\n\nYou propably want to run `make start` at first.  \nDependencies should be installed automatically.\n\nRun just `make` for usage information:\n\n```\nUsage: make \u003ctarget\u003e\n\nstart → (re)start all services\nstop → stop all services\nserver → attach to server container\nclient → attach to client container\ncouchdb → attach to couchdb container\nshell → open a shell in node container\nredis → open a redis-cli shell\nanalyzer → start bundle analyzer service\n```\n\n\n### URLs\n\n…to use in your host machine, when services are running:\n\n  - Webpack Dev Server (serves live-reloaded client with hmr support,\n    proxy for api/socket calls to hapi server)  \n    [localhost:9000](http://localhost:9000/)\n\n  - Hapi Server (api and socket, serves static built client)  \n    [localhost:3000](http://localhost:3000/)\n\n  - CouchDB Fauxton  \n    [localhost:5984/_utils](http://localhost:5984/_utils/)\n\n  - Webpack bundle analyzer  \n    [localhost:9001](http://localhost:9001)\n\n\n## Features / ToDo [WIP]\n\n\n### Server\n\n  - [x] oauth strategy with external providers\n      - [x] store minimum user profiles with respective auth info\n      - [x] support github oauth\n      - [x] support twitter oauth\n      - [ ] support facebook oauth\n  - [ ] local user/password auth strategy\n  - [x] jwt auth strategy\n  - [x] websocket support\n  - [x] couchdb integration using [nano](https://github.com/apache/couchdb-nano)\n      - [x] automatic design updates\n      - [x] generic database repository pattern\n      - [ ] implement couchdb provisioning ([docs](http://docs.couchdb.org/en/latest/install/setup.html))\n  - [x] redis integration\n  - [x] static file serving using [inert](https://github.com/hapijs/inert)\n  - [x] view management using [vision](https://github.com/hapijs/vision)\n        with [pug](https://github.com/pugjs/pug) templates\n      - [x] custom error views\n  - [x] monitoring and logging using [good](https://github.com/hapijs/good)\n        and [winston](https://github.com/winstonjs/winston)\n  - [x] chatbot service\n      - [x] [rivescript](https://www.rivescript.com/) integration \n      - [x] [wit.ai](https://wit.ai/) integration\n  - [x] test environment for unit tests and functional tests using [mocha](https://mochajs.org/)\n        and [nyc](https://github.com/istanbuljs/nyc)\n      - [ ] 100% coverage\n  - [ ] interactive debugging console using [tv](https://github.com/hapijs/tv)\n  - [x] generated api documentation using [lout](https://github.com/hapijs/lout)\n  - [ ] handle uncaught exceptions and cleanup afterwards using\n        [poop](https://github.com/hapijs/poop)\n\n\n### Client\n\n  - [ ] update to webpack 4\n  - [x] spa client using latest [angular](https://angular.io/)\n  - [x] html templating using [pug](https://pugjs.org/)\n  - [x] css development using [stylus](http://stylus-lang.com/) and [postcss](http://postcss.org/)\n  - [x] convenient and state-of-the-art build system using [webpack](https://webpack.js.org/)\n      - [x] deterministic chunk cache busting\n      - [x] webpack dev server as proxy for app server\n      - [x] hot module replacement in development\n\n\n### General\n\n  - [ ] store user/websocket relations in redis\n  - [ ] persist chatbot conversations in couchdb\n  - [ ] context/user related conversations for chatbot\n  - [ ] client/ui implementation for signup/auth\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimbo%2Fbrigidde","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimbo%2Fbrigidde","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimbo%2Fbrigidde/lists"}