Skip to content

danilobecke/codemaze-web

Repository files navigation

Codemaze-Web (aka frontend)

Codemaze is an advanced platform specifically designed to enhance the programming education experience in higher education. Providing a virtual environment for code execution, Codemaze allows users to practice, test, and evaluate their programs across various programming languages. Furthermore, the software integrates powerful features including plagiarism detection reports, detailed logging capabilities, and Swagger documentation for easy reference. With support for adding programming languages, customizable configurations, and flexible architecture built on Docker containers, Codemaze empowers both instructors and higher education students to collaboratively and efficiently explore the realm of programming.

This is the suggested frontend to run with the Codemaze backend.

Table of contents

  1. Prerequisites
  2. Deploy
    1. Environment
    2. Run deploy
  3. Contributing
    1. Running as debug
  4. Stopping
  5. TODO
  6. License
  7. Technologies
  8. Contact Info

Prerequisites

You must have installed in the host machine before deploying or in your local machine before running:

  1. Docker - used to manage and host the app.

Deploy

Clone this repository in the host machine.

Environment

You have to create an environment file on the root directory named .env with keys for the API URL (if you haven't changed it when deploying Codemaze, it'll be your_ip:8080) and school name:

REACT_APP_API_URL="0.0.0.1:8080"
REACT_APP_SCHOOL_NAME="My School"

Run deploy:

make build
make deploy

By doing this, Codemaze-Web will be running in the :80 port. You can customize the port by updating the Makefile.

Contributing

You can run Codemaze-Web locally for debugging and testing purposes.

As debug (localhost:3000)

Navigate to the root folder and run:

make build-debug
make debug

You must have a .env file in the same way as the .env (deploy) one.

Stopping

To stop and remove the Docker containers, you can run:

make stop-deploy # if deploy
make stop-debug # if debugging

TODO

Improvements

  • Avoid duplicate requests

License

Introduced by Danilo Cleber Becke in 2023, the BSD 2-Clause License outlines the terms under which the software can be utilized and distributed. Users are free to modify the software, as long as they adhere to two main conditions: 1) they must include the original copyright notice and a list of conditions, and 2) if they distribute the software in binary form, they must reproduce the copyright notice and conditions in the documentation or accompanying materials. The copyright holder and contributors are not liable for any direct, indirect, incidental, consequential, or other damages arising from the use of the software, regardless of the legal theory applied.

Technologies

Developed using React with TypeScript.

Contact Info

You can reach me at [email protected] and http://linkedin.com/in/danilobecke/.