GithubHelp home page GithubHelp logo

osdiab / codepuppy-web-defunct Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 1.97 MB

No longer in use. A paperless replacement for CS198 with a focus on simplicity, autograding, and extensibility

License: BSD 3-Clause "New" or "Revised" License

Ruby 46.23% JavaScript 27.95% CSS 5.84% Python 0.99% Shell 6.77% HTML 12.22%

codepuppy-web-defunct's People

Contributors

maesenc avatar osdiab avatar rawatson avatar

Watchers

 avatar  avatar  avatar  avatar

codepuppy-web-defunct's Issues

Create coding standards and pre-commit checks

I am writing pre-commit checks that use jshint to check our Javascript against Javascript community coding style recommendations, and rubocop to check our Ruby against the Ruby style guide

As a standard for Angular code, we should follow the Angular style guide to structure our Angular code.

Please check out these standards @maesenc @anthonymainero @rawatson, so we can have a consistent codebase. I don't think there's currently a way to automatically enforce the Angular style guide, but for the Ruby and Javascript stuff, I'll make a script that is triggered on every commit to check it, and instructions for how to activate syntax checking in your editors.

Establish people we can easily communicate with regarding the project

The sorts of things that would be useful to slap on the wiki page are:

  • Who is knowledgable about the existing CS198 infrastructure and how closely tied we are to existing infrastructure?
  • What group of people would be willing to regularly give us feedback on/test out our work? Largely SL's, but a list of reliable candidates/an actual beta mailing list would be good.

Anything else you think we need contacts for, comment below.

Feature request: Create a repository of common code problems and explanations, and be able to link/embed them

Rasmus Rygaard suggests that we allow section leaders to build up a repository of common issues, and be able to refer to them like github issues (you can refer to an issue in github with the number of that issue, just by typing the issue's number, like so: #1).

If there was some way of discovering common issues, it would be very convenient not to rewrite and copy-paste the same problem on many students' submissions. It would save a lot of time.

Explore what we need to do to keep this project accessible to SLs

Development on the CS198 website effectively ended in 2007-2008, when all of the primary authors graduated. Development on paperless saw a similar cycle. We don't want this project to be completely rewritten in 2016, so we need to think carefully about how to keep the project alive and actively developed in the CS198 program.

  • When we choose tools and technologies: how can we choose products which are easy to work with and more likely to be known by current and future section leaders?
  • How can we structure our coding and design process to simplify the project even as the requirements grow more complex?
  • How can we structure the project to encourage easy contributions from SLs who see something they'd like to add or change?
  • Is it possible to designate a role of "tools maintainer" in the CS198 program? Can we adapt this to be a semi-permanent SSL type role?

Purge seed data from repository (privacy breach)

We are using prior sectionee code for seeding data, and it's in our public repository. In essence we've publicly released a bunch of people's code and solutions for CS106A and B, which is probably an honor code/fundamental standards violation.... we should get rid of it as soon as possible (after the demo), especially before opening this to further SL development.

Dependency: Migrating from CS198 db.

Integrate WebAuth with the project

TA says that WebAuth may only be accessible from within the Stanford Network. This is restricting, let's see what the Stanford IT dept says.

Decide how much we'd like to adhere to the product design process

When we discuss, let's talk about things related to the design process as taught in the d-school and by HCI people. As explained in CS147, that includes these steps:

  1. Needfinding
  2. Rapid prototyping
  3. Heuristic evaluation
  4. Experimenting
  5. Repeat

I think it can be useful to have a formal structure to the way we approach building features and evaluating them, since this will be a real product unlike many CS194 projects!

Syntax highlighting brushes on a per-language basis

Problem

We are currently using SyntaxHighlighter.js to highlight code syntax. To use it, you do:

<pre class="brush: js">
// js code
</pre>

There are two problems:

  1. you need to specify handle languages dynamically. A js file should have the "brush: js" class, and needs to include its associated "brush" file. Each language has it's own associated javascript "brush" file that will also need to be included.
  2. In a pre tag, you need to make sure that an open bracket symbol (<) NEVER shows up the code. It needs to be escaped, like so: &lt;. Otherwise, the pre tag will not render properly.

Proposed solution

Make Angular services that handle both of these things.

Determine infrastructure constraints

  • What machines would our code run on?
  • How much control do we have over the environment they run in?
  • What does availability/reliability look like?
  • If we used our own machines/the cloud/other systems, how much will Stanford foot the bill?

Decide on a frontend framework

We decided in the spec meeting that the website will probably be client-driven. So, let's decide on a frontend web framework.

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.