Implement the upload flow for users to submit ZK projects and circuits to the registry via a GitHub link. This system must validate the presence of circuits within the repository and prevent duplicate entries. The system should also ensure that the user has an account before beginning the upload process. User can access '+New Project' from user's personal dashboard to initiate the upload process.
User Flow and Features
GitHub Repository Linking
Implement an input for users to submit the GitHub repository URL.
Validate the URL to ensure it points to a repository containing .circom files and other relevant circuit file types (.leo, .nr, .rs etc.). Confirm the presence of circuits within the GitHub repository to proceed with the submission.
Perform a check against the system to ensure the project is not already registered, preventing duplicate entries.
Circuit Metadata Extraction
Upon successful repository linking, automatically generate a list of available circuits, displaying essential details like the circuit name, the path, and the last updated timestamp.
Provide users with the option to enrich circuit data with additional descriptions, number of constraints, inputs, outputs, and other pertinent details.
Project Information Display
Utilize GitHub's API to extract and present project information for user verification, including:
Project image preview
Project name and author
Licensing information
List of contributors
Audits, with an option to upload audit reports
Project Description (TBD): generate an initial description of the project that users can edit and refine (i.e., via chatgpt).
Additional Project Details
Fields for users to input or edit further project details such as the official website, documentation link, social media handles, and tagging for categorization.
Upon submission, generate a project overview page with the data populated from the GitHub API and the user's additional inputs, providing a comprehensive view of the project and its circuits.
Description
Implement the upload flow for users to submit ZK projects and circuits to the registry via a GitHub link. This system must validate the presence of circuits within the repository and prevent duplicate entries. The system should also ensure that the user has an account before beginning the upload process. User can access '+New Project' from user's personal dashboard to initiate the upload process.
User Flow and Features
GitHub Repository Linking
.circom
files and other relevant circuit file types (.leo
,.nr
,.rs
etc.). Confirm the presence of circuits within the GitHub repository to proceed with the submission.Circuit Metadata Extraction
Project Information Display
Additional Project Details
Upon submission, generate a project overview page with the data populated from the GitHub API and the user's additional inputs, providing a comprehensive view of the project and its circuits.
Figma Link
Screenshot