Skip to content

Ahmad-mtos/Dysfunctional-Lisp-Online-Compiler

Repository files navigation

Dysfunctional Lisp Online Compiler

Welcome to the Dysfunctional Lisp Online Compiler repository. This project serves as an extensive online documentation for Dysfunctional Lisp, providing a comprehensive platform to learn and explore the language. With the online compiler, you can test Dysfunctional Lisp code snippets directly in your web browser, facilitating a seamless and interactive learning experience.

How to Run

To run the project on a local machine, use one of these methods:

Using Docker

Requirements

  • Docker version 20.10.21
  • docker-compose version 1.29.2
  1. Clone the repository:
    git clone https://github.com/Ahmad-mtos/Dysfunctional-Lisp-Online-Compiler.git
  1. Navigate to the project directory:
    cd Dysfunctional-Lisp-Online-Compiler
  1. Run deploy script:
    ./deploy.sh
  1. Open your web browser and visit http://localhost:3030 to access the Dysfunctional Lisp Online Compiler.

Manually

Requirements

  • npm 9.5.1
  • Node v18.16.1
  • Python 3.10.6
  1. Clone the repository:
    git clone https://github.com/Ahmad-mtos/Dysfunctional-Lisp-Online-Compiler.git
  1. Navigate to the backend directory:
    cd Dysfunctional-Lisp-Online-Compiler/flask-backend
  1. Install the requirements:
    pip install -r requirements.txt
  1. Set the environment variable and start the Flask server:
  • For Linux:
    export FLASK_RUN=app.py && flask run
  1. Install mkdocs requirments
    pip install mkdocs-pymdownx-material-extras
  1. Navigate to the mkdocs
    cd ../mkdocs-documentation
  1. Build documentation
    mkdocs build
  1. Move the documentation to frontend public directory
    mv -f ./site ../react_frontend/public
  1. Navigate to the frontend directory:
    cd ../frontend
  1. Install the required dependencies:
    npm install
  1. Start the frontend development server:
    npm start
  1. Open your web browser and visit http://localhost:3000 to access the Dysfunctional Lisp Online Compiler.

Features

  • An interactive compiler
  • An appealing code editor

Planned Features

  • A full documentation of the language
  • A deployed version of the project
  • A section where one can solve some problems
  • Add marcos to the language