Giter VIP home page Giter VIP logo

sigma's Introduction

sigma

Sigma is a collection of tools to streamline the trainings for Pipal Academy.

Documentation: https://pipalacademy.github.io/sigma/

Overview

One of the main components of sigma is the dashboard webapp. The dashboard webapp is planned to have the following features.

  • Preview - preview the notebooks of students
  • User Management - Add/Remove users from JupyterHub
  • Sharing Files - Share/distribute files with every participant
  • Solution Tracker - Track the problems solved
  • Grader - Grade Assignments

The Setup

Sigma uses python packaging tool hatch][] for developement.

Install Hatch by running:

$ pip install hatch

Please note that it is suggested that you run this not in a virtualenv, so that you continue to access it even when you switch to a diffent virtualenv.

While the project uses hatch, a Makefile has been added to make it easier to run all the tasks.

Run dashboard app

$ make run
hatch run app
 * Serving Flask app 'sigma.dashboard.app'
 * Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
 * Running on http://127.0.0.1:5000
Press CTRL+C to quit
 * Restarting with watchdog (inotify)

You can visit the app at http://127.0.0.1:5000/.

Docs

Sigma uses mkdocs-material for documentation.

The source files for the docs are in docs/ directory.

To build docs locally, run make docs and to serve docs with live reload, run make serve-docs.

License

Sigma is licensed under MIT License.

sigma's People

Contributors

anandology avatar

Watchers

 avatar vikrant avatar

sigma's Issues

Users page in the website

Add a users page to the website to see the current users and ability to add new users.

Ideally it should be possible to set the password from settings on the website, but it may be good enough for now to add it to config and set it via environment in the systemd config.

Preview module

Add preview module to the webapp that will show last few entries of a notebook for all the users.


Epic #2

Add project structure

Add project structure/stubs for a python library. Pick the setup for recommended by python packaging.

Dashboard App

Create a dashboard app for managing the trainings.

This will have the following features:

  • Preview - preview the notebooks of students
  • User Management - Add/Remove users from JupyterHub
  • Sharing Files - Share/distribute files with every participant
  • Assignment Manager
    • Create assignments by selecting the problems
    • Publish assignments
    • Grade assignments and publish the score
  • Solution Tracker - Track the problems solved

Tasks

Settings page in the website

Add a settings page in the website.

It should have the following settings.

  • password for all the users
  • number of cells to show in preview
  • polling wait time for preview

Better name for the project?

I have chosen Sigma as name for this project as a placeholder as I didn't want to wait until I find a good name.

Given the direction we are heading, it feels like this is going to be the single dashboard for managing the training. Wondering if it may be apt to rename this project as cockpit or something similar. After, all this the place is the control panel for steering the training.

@vikipedia do you have any suggestions?

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.