devsoc-unsw / structs.sh

An educational data structures and algorithms platform.
https://structs.sh
MIT License
27 stars 7 forks source link

Structs.sh 💻

Visit Structs.sh | Structs.sh Confluence

See the Structs.sh Confluence workspace for documentation, setup instructions, deployment instructions, milestones and project management!

About Structs.sh

Structs.sh is an interactive data structure and algorithm visualiser and educational platform for computer science students.

Features:


Why Structs.sh Exists

Structs.sh is a project that aims to be a comprehensive educational resource for data structures and algorithms, developed by passionate computer science and engineering students at UNSW. Structs.sh was inspired by a previous project, Tactile-DS, an earlier project developed in 2020 as a tutoring tool and reference implementation for students to use in COMP2521.

Structs.sh exists to help bridge the gap between a student's high-level understanding of computer science concepts and how real code would accomplish a certain task. The project was started by students who felt there was a lack in tools/resources that focus on helping people develop a proper visual intuition for algorithmic thinking.

Running Structs.sh

Prerequisites

Ensure you have the following software:

Setup

Clone the repository using the commmand: git clone git@github.com:devsoc-unsw/structs.sh.git

Environment Variables

To configure the application, create a .env file in the client/ directory and add the following line:

VITE_DEBUGGER_URL=http://localhost:8000

If deploying, replace localhost:8000 with the address of the server

Running the app with Docker

  1. cd into the project root directory
  2. Run docker-compose up --build. The frontend should be accesible at localhost:3000. The debugger server should be accessible at localhost:8000.

Documentation

For everything architecture, endpoints documentation, style guide, etc. see our Confluence workspace!