Skip to content

Commit

Permalink
Merge pull request #25 from cics-syslab/dev
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
calvinchai authored Feb 8, 2024
2 parents b18b4ca + 24dcab4 commit eb28af3
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 23 deletions.
6 changes: 6 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,9 @@ docs/
.gitignore
Dockerfile

modules/PointerProjectEngine/
modules/ThreadingProjectEngine/

plugins/email_notice
plugins/gtest
plugins/make_c
50 changes: 34 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,31 @@ MAGI is a python framework for generating programming assignments and autograder
| ARM | Not Supported |
---

## Getting Started
## Quick Start

### Prerequisites
The easiest way to get started with our application is by using our pre-built Docker image.

- Python 3.10
```bash
docker run -d --name magi -p 8501:8501 -v ./settings:/app/settings ghcr.io/cics-syslab/magi:latest
```

### Installation

### Docker Compose
```yaml
version: '3'
services:
magi:
image: ghcr.io/cics-syslab/magi:latest
volume:
- ${pwd}/settings:/app/settings
network_mode: bridge
ports:
- "8501:8501"
```
## Building from Source
If you prefer to build the application from source, follow the instructions in the [Building from Source](#building-from-source) page.
<!--
1. Download the release and unzip it
```bash
Expand All @@ -51,15 +68,16 @@ MAGI is a python framework for generating programming assignments and autograder
```bash
python main.py
# python3 main.py in some unix os
```
``` -->

## Usage

Start the gui
Access the web interface through http://host:port
<!-- Start the gui


```bash
python main.py
# python3 main.py in some unix os
```

The interface is organized into tabs, with two default tabs: Preview and Basic Settings. When you enable different modules or plugins, their respective settings (if available) will appear in newly created tabs.
Expand All @@ -85,20 +103,20 @@ Choose the module you wish to use. Please note that modules are mutually exclusi

<!-- - [Thread Project Engine](https://github.com/nightdawnex/gsgen/tree/main/modules/ThreadingProjectEngine) -->

- Enabled Plugins:
<!-- - Enabled Plugins:
Select the plugins you want to use. You can enable multiple plugins simultaneously.

List of Plugins currently available:
List of Plugins currently available: -->

### Preview
<!-- ### Preview

On the preview page, you can choose where to generate the output project files.

The files will be generated in a folder named after the project. If the folder already exists, it will be appended with the current time.
The files will be generated in a folder named after the project. If the folder already exists, it will be appended with the current time. -->

### Upload the autograder to Gradescope
### Upload the autograder to Gradescope

In gradescope, select Ubuntu-22.04 as base image and upload the generated zip file.
In gradescope, select Ubuntu-22.04 as base image and upload the generated zip file.

<!-- For more detailed usage instructions, please refer to the [User Guide](link-to-user-guide.md). -->
<!-- ---
Expand All @@ -117,7 +135,7 @@ For support or to provide feedback, please raise an issue on our [GitHub reposit

## License

NetGuardian is released under the [MIT License](LICENSE).
MAGI is released under the [MIT License](LICENSE).

---

Expand Down
2 changes: 2 additions & 0 deletions magi/components/generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import os.path as op
import shutil
from pathlib import Path
import time

from magi.managers import SettingManager
from magi.managers.info_manager import Directories
Expand Down Expand Up @@ -136,6 +137,7 @@ def generate_output(output_dir: str = None) -> None:
SettingManager.save_settings()

reset_output_dir(output_dir)
time.sleep(1)
# output_dir = create_output_dir(output_parent_dir)
output_dir = Path(output_dir)
AddonManager.before_generate()
Expand Down
11 changes: 4 additions & 7 deletions webui/Hello.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,11 @@

init_session()

st.write("# Welcome to Streamlit! 👋")
st.write("# Welcome to MAGI")

st.markdown(
"""
Streamlit is an open-source app framework built specifically for
Machine Learning and Data Science projects.
"""
)
st.write("This is the web interface for MAGI.")

st.write("## Debug Information")
st.markdown(
"""
# Path
Expand Down

0 comments on commit eb28af3

Please sign in to comment.