RODA is a Python GUI application designed to simplify the management of multiple Roblox projects. It provides a user-friendly interface for managing and organizing your Roblox projects efficiently.
You can install RODA for windows here
-
Project Management: RODA allows you to view and manage your Roblox projects easily. You can browse through your projects, access project details, and perform various actions such as creating, updating, and deleting projects.
-
Project Creation: With RODA, creating new Roblox projects is a breeze. The intuitive project creation interface lets you specify project details, set up project configurations, and create a new project with just a few clicks.
-
RBXLX Import: RODA enables you to import RBXLX files into your projects effortlessly. Simply choose the RBXLX file you want to import, and RODA will handle the process of integrating it into your project, making it quick and convenient to incorporate existing assets and designs.
-
Install Manager: RODA comes with an Install Manager that simplifies the installation and management of dependencies for your Roblox projects. The Install Manager provides an easy-to-use interface to search, install, update, and remove dependencies, ensuring that your projects have the required assets and libraries seamlessly.
- The Projects screen gives you an overview of all your Roblox projects. You can see project details, such as name, description, and last modified date, and easily navigate through your projects. Perform actions like creating a new project, updating existing projects, or deleting projects.
- The Project Creator screen offers a user-friendly interface to create new Roblox projects. Fill in project details, set up project configurations, and customize settings to get started with a new project in no time.
- The Install Manager screen simplifies the installation and management of dependencies for your Roblox projects. Search for dependencies, install or update them, and remove unwanted dependencies with ease. Keep your projects up to date and ensure they have the necessary assets and libraries.
- RODA provides automatic Rojo syncing to keep your projects in sync with your Roblox workspace. Any changes made within RODA are seamlessly synchronized with your Roblox projects, ensuring consistency and efficiency in your development workflow.
You can install RODA for windows here
Make sure you install aftman and the ROJO CLI as they are dependencies for many of the application features
To create a new project, navigate to the Create Project menu.
- Select New Project from the options
- Configure the parameters to your liking
- Press Create Project
- Syncing to studio
To load an existing project, navigate to the Create Project menu.
- Select Load Project
- For the path, select an existing Rojo File structure project directoy.
- Press Create Project
- Syncing to studio
To import an existing roblox place, press Import RBXLX on the left sidebar
- The file you convert must be an RBXLX, you can generate this by selecting RBXLX as the SaveAs option in Roblox Studio when saving
- Select your RBXLX file, then select the directory where you wish to build the project folder
- Once this is complete, follow the steps from Loading an existing project
- Syncing to studio
After you have created or loaded a project, follow these steps to sync with roblox.
- In the project viewer, press the Open File explorer to have access to project directory
- Once inside the project directory, open with VS Code to begin editing
- Open the roblox build file in Roblox Studio
- Navigate to Roblox Studio Plugins bar
- Click on Rojo
- When RODA tells you the syncing service is ready, press connect to server in roblox studio
- You are ready to edit your new project!
Contributions are welcome! If you have any suggestions, bug reports, or feature requests, please create an issue or submit a pull request.
To build the project with your own changes follow these steps:
- Ensure pyinstaller is installed
pip install pyinstaller
- Navigate to root project folder in a terminal window
- In the same window, run:
python -m PyInstaller -wF RodaApp.py --collect-all customtkinter -w
- Wait 1-3 minutes and your project be built
- Currently you must copy the images folder into your dist folder after building
The ProjectAPI module provides a ProjectAPI class for managing projects. You can instantiate the class and call its methods to perform various operations on projects.
Data Structure:
The data structure for a project includes the following fields:
id
(string): Unique identifier for the project.name
(string): Name of the project.description
(string): Description of the project.file_path
(string): File path associated with the project.
Class: ProjectAPI
This class provides the following methods:
-
__init__(self, json_file)
Description: Initializes the ProjectAPI instance.
Parameters:
json_file
(string): Path to the JSON file storing project data.
Example Usage:
project_api = ProjectAPI("projects.json")
-
get_projects(self)
Description: Retrieves all projects.
Returns:
projects
(list): List of project dictionaries.
Example Usage:
projects = project_api.get_projects()
-
create_project(self, project)
Description: Creates a new project.
Parameters:
project
(dict): Dictionary representing the project with fieldsname
,description
, andfile_path
.
Example Usage:
new_project = { "name": "New Project", "description": "This is a new project", "file_path": "/path/to/new_project" } project_api.create_project(new_project)
-
get_project(self, project_id)
Description: Retrieves a specific project by its ID.
Parameters:
project_id
(string): ID of the project to retrieve.
Returns:
project
(dict): Dictionary representing the project with fieldsid
,name
,description
, andfile_path
.
Example Usage:
project = project_api.get_project("2")
-
get_project_by_name(self, project_name)
Description: Retrieves a specific project by its name.
Parameters:
project_name
(string): Name of the project to retrieve.
Returns:
project
(dict): Dictionary representing the project with fieldsid
,name
,description
, andfile_path
.
Example Usage:
project = project_api.get_project_by_name("New Project")
-
update_project(self, project_id, project_data)
Description: Updates a specific project by its ID.
Parameters:
project_id
(string): ID of the project to update.project_data
(dict): Dictionary containing the updated project fields.
Returns:
project
(dict): Dictionary representing the updated project with fieldsid
,name
,description
, andfile_path
.
Example Usage:
updated_project_data = { "description": "Updated project 2" } updated_project = project_api.update_project("2", updated_project_data)
-
delete_project(self, project_id)
Description: Deletes a specific project by its ID.
Parameters:
project_id
(string): ID of the project to delete.
Returns:
success
(bool):True
if the project was successfully deleted,False
otherwise.
Example Usage:
success = project_api.delete_project("1")
Please note that this documentation assumes you have an instance of the ProjectAPI
class initialized (project_api
in the examples). You can call the methods on that instance accordingly to interact with the project data.
Let me know if you need any further clarification or have additional questions!
This app was made possible using the Custom Tkinter library by Tom Schimansky: https://github.com/TomSchimansky/CustomTkinter (MIT License)