{"id":22489110,"url":"https://github.com/MycroftAI/selene-ui","last_synced_at":"2025-08-02T21:32:11.859Z","repository":{"id":38459355,"uuid":"167435139","full_name":"MycroftAI/selene-ui","owner":"MycroftAI","description":"Web applications to support the Mycroft AI project.","archived":false,"fork":false,"pushed_at":"2023-03-07T13:14:26.000Z","size":5081,"stargazers_count":50,"open_issues_count":19,"forks_count":20,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-12-04T05:10:49.385Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MycroftAI.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-01-24T20:46:40.000Z","updated_at":"2024-10-19T13:20:27.000Z","dependencies_parsed_at":"2023-02-18T18:16:10.251Z","dependency_job_id":null,"html_url":"https://github.com/MycroftAI/selene-ui","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/MycroftAI%2Fselene-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MycroftAI%2Fselene-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MycroftAI%2Fselene-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MycroftAI%2Fselene-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MycroftAI","download_url":"https://codeload.github.com/MycroftAI/selene-ui/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228500221,"owners_count":17930020,"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-12-06T17:19:14.876Z","updated_at":"2024-12-06T17:21:29.128Z","avatar_url":"https://github.com/MycroftAI.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE.md) \n[![CLA](https://img.shields.io/badge/CLA%3F-Required-blue.svg)](https://mycroft.ai/cla) \n[![Team](https://img.shields.io/badge/Team-Mycroft_Backend-violetblue.svg)](https://github.com/MycroftAI/contributors/blob/master/team/Mycroft%20Backend.md) \n![Status](https://img.shields.io/badge/-Production_ready-green.svg)\n\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com)\n[![Join chat](https://img.shields.io/badge/Mattermost-join_chat-brightgreen.svg)](https://chat.mycroft.ai)\n\n\nSelene -- Mycroft's Web Backend\n===============================\n\nSelene provides the services used by [Mycroft Core](https://github.com/mycroftai/mycroft-core) to manage devices, skills\nand settings.  It consists of two repositories.  This one contains GUI web applications built using the Angular framework. \ndata access layer, APIs and scripts.  The second repository, [Selene Backend](https://github.com/mycroftai/selene-backend), \ncontains Python and SQL representing the database definition,data access layer, APIs and scripts that \nsupport the web applications defined in this repository.\n\nThere are three web applications defined in this repository, account management single sign on, and skill marketplace.\nEach application is designed to run independently of the others. This repository also includes two libraries containing code \ncommon to each of the applications. \n\n# Installation\nThese instructions assume that the APIs and databases in the Selene Backend repository have been installed. The README file\nin that repository contains the necessary instructions.  As with the Selene Backend repository, these instructions will also assume\nthat each application (API \u0026 GUI) will run on an independent server or virtual machine.  Running Selene on a single server is possible.\nMany of the instructions below are also applicable to running on a single server.  The biggest difference being that all the\ncompiled code will live on the same server. \n\nTo eliminate redundantly downloading and building the code on each server, it is recommended to do so on a build host. Once the \nbuild is complete, copy the compiled code to the servers that will run the applications.  This repository includes a Jenkinsfile \nthat builds the code and deploys it via ssh.  It can be altered to work with any Jenkins instance.\n\n* Install Angular 7 and node.js on your build host.\n* Download this repository to your build host. The simplest method is via git \n([git installation instructions](https://gist.github.com/derhuerst/1b15ff4652a867391f03))\n```\ncd \u003cdirectory of your choice\u003e\ngit clone https://github.com/MycroftAI/selene-ui.git\ncd selene-ui\n```\n* Install the required node.js packages\n```\nnpm install\n```\n* Compile the Angular Typescript code.  By default the code is compiled into the `selene-ui/dist` directory\n```\nng build --project shared\nng build --project globalnav\nng build --project account --prod\nng build --project market --prod\nng build --project sso --prod\n```\n* Copy the compiled code to the `/var/www` directory on the servers.  The `shared` and `globalnav` modules are libraries that need to be \ncopied to all servers. The `account`, `market` and `sso` modules need only be copied to their respective servers.\n\n# Running the Web Applications\n\n* Install a web server on each of the application servers.  Configure the web server to serve the `index.html` file of the web application.  \nInstructions on how to do this will vary depending on web server used.  See the software provider's documentation for detailed instructions.\n* Add the web applications to the reverse proxy that is already being used for the APIs in the Selene Backend repository.\n\n# Getting Involved\n\nThis is an open source project and we would love your help. We have prepared a [contributing](.github/CONTRIBUTING.md) guide to help you get started.\n\nIf this is your first PR or you're not sure where to get started,\nsay hi in [Mycroft Chat](https://chat.mycroft.ai/) and a team member would be happy to mentor you.\nJoin the [Mycroft Forum](https://community.mycroft.ai/) for questions and answers.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMycroftAI%2Fselene-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMycroftAI%2Fselene-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMycroftAI%2Fselene-ui/lists"}