Code Monkey home page Code Monkey logo

kap-archive's Introduction

kap-archive

About

The KAP Archive is an archival site that focuses on preserving program's from Khan Academy's KACP section; This project is in no way offiliated with or endoresed by Khan Academy. The project exists to preserve code from hidden/deleted programs and banned users on KACP.

Why?

This archive was created due to many KACP users being banned with all their programs hidden or deleted, many of these were works which I believe should be preserved. There has also been many programs removed from public view or entirely deleted of which I believe should also be preserved; For example Karlson 3D which was removed for alleged violence, in my opinion it was a display of skill in 3D game development on a platform that had previously seen virtually none. Many programs have been removed that in my opinion should not have been, which has spawned this project.

How you can help

The easiest way to help would be to use the KAP Archive site and give feedback on your user experience. If you have the code to programs which have already been deleted you should check out the Request Hidden/Deleted Program form. Telling KACP users about this project would also be a great help. If you want to discuss archival, development or UX you can contact @shipment22 on Discord.

Development

This project uses Bun, React (for server-side rendering), SCSS and bun:sqlite.

Useful info for newcomers

I try to comment code and keep it readable, but here's some info that might help out more with development:

  • Database initialization is in src/init.jsx
  • Main file with all server code in src/index.jsx
  • Site pages are in src/pages using JSX to be rendered on the server; If you're new to JSX it's JS with HTML embeded and fairly easy to get a handle on.
  • Components (cards, forms etc) are in src/components
  • Assets including images and the webmanifest are in src/assets
  • Common bits of code which could be considered library functionality are stored in src/libs
  • Client side Javascript is stored in src/js
  • All SCSS is stored in src/scss and ends up in src/css when compiled; If you haven't worked with SCSS, it's CSS syntax with Sass features, someone who's familiar with CSS should be able to adapt quickly.

To install dependencies:

bun install

To develop:

bun dev

To just build the CSS:

bun css

To run:

bun run index.jsx

This project was created using bun. Bun is a fast all-in-one JavaScript runtime.

kap-archive's People

Contributors

benjamman avatar bhavjitchauhan avatar shipment22 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

bhavjitchauhan

kap-archive's Issues

Add action for the "Code" button on programs

The code button should link to an editor where you can edit the code and see an output, however i don't know of a code editor that i can just link to in such a way it will open the code how i want, i may have to make my own. There is a chance that i could use this as an excuse to continue work on Bobert Academy.

Admin Page

An admin page needs to be added, one that is a login when not logged in, and is a dashboard when logged in.

Add about page

The about page will contain things like "Why KAP Archive exists," and "How to use KAP Archive," or any other useful information about the site.

Add program flagging and deleting

Add a way to flag programs to be reviewed by an admin, and a way to delete programs. These will both be located in the screen that pops up when you press the "View" button on a program.

Add Search Page

A search page needs to be added, preferably one that can not only search by title, but by each one of the fields on the home page search form either alone or combined with other search fields.

Add program preview

When you press the "View" button on a program it should open up a "popover" of sorts which will contain all information about the program, the most common information will be easy to see an up-front and the less common information may be hidden behind drop-down menus or buttons.

Search is somewhat broken, i have no idea why

Minimum and maximum votes and the min and max spinoffs is slightly off as well, other things about the search seem to not work properly; I don't remember if I never implemented some of it or if I didn't implement it properly.

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.