Giter Site home page Giter Site logo

canonical / charmhub.io Goto Github PK

View Code? Open in Web Editor NEW
9.0 18.0 23.0 4.15 MB

License: GNU General Public License v3.0

Dockerfile 0.25% Shell 2.91% HTML 28.61% Python 19.56% JavaScript 17.76% SCSS 10.47% TypeScript 20.44%
website hacktoberfest web-and-design

charmhub.io's Introduction

charmhub.io charmhub.io codebase

Python Coverage | JavaScript Coverage

Github Actions Status Code coverage

A charm is a software package that bundles an operator together with metadata that supports the integration of many operators in a coherent aggregated system.

An operator packaged as a charm means that it is configured, operated and integrated in a standard way regardless of the vendor or the application. Charms enable multi-vendor operator collections with standardised behaviours, reducing the learning curve associated with each operator and creating richer application ecosystems.

This repo is the application for the charmhub.io website.

The site is largely maintained by the Web and Design team at Canonical. It is a stateless website project based on Flask and hosted on a Charmed Kubernetes cluster.

Bugs and issues

If you have found a bug on the site or have an idea for a new feature, feel free to create a new issue, or suggest a fix by creating a pull request. You can also find a link to create issues in the footer of every page of the site itself.

Local development

The simplest way to run the site locally is using dotrun:

dotrun

Once the server has started, you can visit http://127.0.0.1:8045 in your browser. You can stop the server using <ctrl>+c.

For more detailed local development instructions, see HACKING.md.

License

The content of this project is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license, and the underlying code used to format and display that content is licensed under the LGPLv3 by Canonical Ltd.

With ♥ from Canonical

charmhub.io's People

Contributors

abbiesims avatar anthonydillon avatar barrymcgee avatar caldav avatar carkod avatar chillkang avatar codeempress1 avatar dependabot[bot] avatar deusebio avatar fitojb avatar jkfran avatar jnsgruk avatar johnsca avatar jpmartinspt avatar knotuteye avatar lukewh avatar lyubomir-popov avatar m7mdisk avatar meltysnow avatar mthaddon avatar nottrobin avatar pedroleaoc avatar petesfrench avatar pietropasotti avatar renovate[bot] avatar sed-i avatar skatsaounis avatar solazio avatar sowasred2012 avatar steverydz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

charmhub.io's Issues

Certified exploration charms/bundles

Consider how we will showcase all the types below within the details page:

  • Featured category: These are hand picked "things" that we want to promote
  • Featured flag: these are hand picked "things" that we want to promote in categories other than "featured category"
  • Verified publishers: currently in snapcraft - we say "we trust this publisher"
  • Certified charms: what I think people want in charmhub - we say "this charm is of good quality"

Store page: API Integration

Update store-api module to handle the updated API’s. Searching, filtering, categories etc. Tidy up faker module.

Store page: Search & Filters

Update the cards displayed on the store page based on user selected search and filter criteria. Backend endpoint and frontend.

Details: Docs

Wire up the data from the API into the docs panel of the details page.

Start with a few: store with 10~40 charms

We started designing the homepage for abount many charms in different categories. Realistically we need to start with a few: explore the home page with only 10~40 charms.

Details: Overview

Wire up the data from the API into the overview panel of the details page.

Implement basic JS functionality on store

  • Update url with filters, without reloading the page
  • Update url with search term, without reloading the page

This does not include updating the page from filtering/ searching

It is really hard to find private charms owned by a team.

Describe the bug
I have a team "jaas-charmers" that owns a number of non-public charms. These charms can theoretically be found at https://jujucharms.com/u/jaas-charmers. If one is not logged in then this page redirects to https://jaas.ai/u/jaas-charmers which is a 404 and gives no clues that one needs to log in to see any charms. If one knows that one has to log in, and to log in one should click on "Your Models" (That is hardly obvious), and the "Login". One ends up on the https://jujucharms.com/new page. It is only after re-entering the URL you first thought of that you can actually see a list of charms owned by the team.

To Reproduce
You will need to be a member of yellow for this to complete for you.

Steps to reproduce the behavior:

  1. Go to https://jujucharms.com/u/jaas-charmers
  2. Get redirected to https://jaas.ai/u/jaas-charmers
  3. Click on "Your Models"
  4. Click Login and authenticate.
  5. Edit the address to be https://jujucharms.com/u/jaas-charmers
  6. Observe the list of charms you were looking for.

Expected behavior
Going to the https://jujucharms.com/u/jaas-charmers URL should provide me with a simple mechanism to login and see the page contents.

Desktop (please complete the following information):

  • OS: Ubuntu
  • Browser firefox
  • Version 70.0.1 (64-bit)

Details: Contribute

Wire up the data from the API into the contribute panel of the details page.

Replace details data with context

Currently the tabs (and their structure - side nav etc) are hardcoded content, this should be mocked out and generated from the context that's passed through.

Charm pages should be able to link to external web pages, such as blog posts

Is your feature request related to a problem? Please describe.

The charm web pages are quite static. It would be nice to be able to demonstrate that they have users.

Describe the solution you'd like

The ceph-osd charm has quite a large community. It includes external contributors who write howto guides, for example. It would be great if posts like these could be added to the charm/bundle's page.

Describe alternatives you've considered

Status quo.

Additional context

Should the whole card be clickable?

On the homepage and related charms - should the whole card be the link? At the very least the title should be.

Perhaps the publisher could apply the publisher filter?

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.