GithubHelp home page GithubHelp logo

getnamingo / registry Goto Github PK

View Code? Open in Web Editor NEW
30.0 6.0 6.0 9.97 MB

Open-source domain registry platform. Revolutionizing ccTLD and gTLD management with Namingo.

Home Page: https://namingo.org

License: MIT License

PHP 65.42% Twig 31.39% HTML 1.22% PLpgSQL 1.97%
cctld domain epp gtld icann rdap rdap-server registry tmch urs

registry's People

Contributors

alstrasolutions avatar getpinga avatar istiak101 avatar wvro-org avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

registry's Issues

Ensure Compatibility of All Commands with PostgreSQL

We have identified the need to test all commands in Namingo for compatibility with PostgreSQL. This is a crucial step in ensuring that our application functions seamlessly across different database systems, particularly when transitioning from MariaDB to PostgreSQL.

A key area of focus should be the "update" column in the domain table. We suspect that there might be nuances in how PostgreSQL handles data in this column compared to MariaDB. Thorough testing and validation are required to confirm its behavior and ensure data integrity.

Additionally, specific attention must be paid to date calculations. These operations are known to have subtle differences between database systems, and it's essential to ascertain that our date-related functionalities perform consistently across both MariaDB and PostgreSQL.

We are calling for contributors to assist in this testing process. Here’s how you can help:

1. Test Execution: Run existing commands and observe their behavior in a PostgreSQL environment. Pay special attention to data manipulation commands and those involving date calculations.

2. Issue Reporting: If you encounter any discrepancies or errors, please document them with detailed descriptions and steps to reproduce. This information will be invaluable in pinpointing and resolving compatibility issues.

3. Suggestions and Fixes: If you have expertise in PostgreSQL and have suggestions for modifications or fixes to improve compatibility, your input would be highly appreciated. Code snippets, pull requests, or detailed explanations of potential solutions are all welcome.

Your contributions to this effort will play a significant role in enhancing the robustness and flexibility of our system. Thank you in advance for your support and involvement!

Fix ($content) must be of type Stringable|string, null given

Testing Namingo on mac os on Astra Linux via Parallels....
Found this issue when creating and or checking domain....

Screenshot 2023-12-29 at 00 05 35 `Slim Application Error The application could not run because of the following error:

Details
Type: TypeError
Code: 0
Message: Pdp\TopLevelDomains::fromString(): Argument #1 ($content) must be of type Stringable|string, null given, called in /var/www/cp/bootstrap/helper.php on line 306
File: /var/www/cp/vendor/jeremykendall/php-domain-parser/src/TopLevelDomains.php
Line: 50
Trace
#0 /var/www/cp/bootstrap/helper.php(306): Pdp\TopLevelDomains::fromString()
#1 /var/www/cp/app/Controllers/DomainsController.php(28): extractDomainAndTLD()
#2 /var/www/cp/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponseArgs.php(36): App\Controllers\DomainsController->checkDomain()
#3 /var/www/cp/vendor/slim/slim/Slim/Routing/Route.php(358): Slim\Handlers\Strategies\RequestResponseArgs->__invoke()
#4 /var/www/cp/vendor/slim/slim/Slim/MiddlewareDispatcher.php(65): Slim\Routing\Route->handle()
#5 /var/www/cp/app/Middleware/AuthMiddleware.php(21): Slim\MiddlewareDispatcher->handle()
#6 /var/www/cp/vendor/slim/slim/Slim/MiddlewareDispatcher.php(269): App\Middleware\AuthMiddleware->__invoke()
#7 /var/www/cp/vendor/slim/slim/Slim/MiddlewareDispatcher.php(65): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#8 /var/www/cp/vendor/slim/slim/Slim/Routing/Route.php(315): Slim\MiddlewareDispatcher->handle()
#9 /var/www/cp/vendor/slim/slim/Slim/Routing/RouteRunner.php(68): Slim\Routing\Route->run()
#10 /var/www/cp/vendor/slim/twig-view/src/TwigMiddleware.php(115): Slim\Routing\RouteRunner->handle()
#11 /var/www/cp/vendor/slim/slim/Slim/MiddlewareDispatcher.php(121): Slim\Views\TwigMiddleware->process()
#12 /var/www/cp/app/Middleware/ValidationErrorsMiddleware.php(19): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#13 /var/www/cp/vendor/slim/slim/Slim/MiddlewareDispatcher.php(269): App\Middleware\ValidationErrorsMiddleware->__invoke()
#14 /var/www/cp/app/Middleware/OldInputMiddleware.php(18): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#15 /var/www/cp/vendor/slim/slim/Slim/MiddlewareDispatcher.php(269): App\Middleware\OldInputMiddleware->__invoke()
#16 /var/www/cp/app/Middleware/CsrfViewMiddleware.php(26): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#17 /var/www/cp/vendor/slim/slim/Slim/MiddlewareDispatcher.php(269): App\Middleware\CsrfViewMiddleware->__invoke()
#18 /var/www/cp/vendor/slim/csrf/src/Guard.php(476): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#19 /var/www/cp/bootstrap/app.php(224): Slim\Csrf\Guard->process()
#20 /var/www/cp/vendor/slim/slim/Slim/MiddlewareDispatcher.php(269): Closure->{closure}()
#21 /var/www/cp/routes/web.php(257): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#22 /var/www/cp/vendor/slim/slim/Slim/MiddlewareDispatcher.php(269): Closure->{closure}()
#23 /var/www/cp/vendor/slim/slim/Slim/Middleware/ErrorMiddleware.php(76): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#24 /var/www/cp/vendor/slim/slim/Slim/MiddlewareDispatcher.php(121): Slim\Middleware\ErrorMiddleware->process()
#25 /var/www/cp/vendor/slim/slim/Slim/MiddlewareDispatcher.php(65): Psr\Http\Server\RequestHandlerInterface@anonymous->handle()
#26 /var/www/cp/vendor/slim/slim/Slim/App.php(199): Slim\MiddlewareDispatcher->handle()
#27 /var/www/cp/vendor/slim/slim/Slim/App.php(183): Slim\App->handle()
#28 /var/www/cp/public/index.php(5): Slim\App->run()
#29 {main}
Go Back`

issue with 3rd level domains

Finally figured it out with 3rd level domains

default test TLDs
.TEST
.COM.TEST

tlds with db id

id     tld
 1    .TEST
 2   .COM.TEST
 4   .example.com
 5   .COM
 6  .example.org

when creating 3rd level domain nic.com.test registry puts it into .TEST tld not into .COM.TEST
and for example.com when adding it Registry -> TLDs menu and specifiing .example.com in .env file "TEST_TLDs
it dosn't work ... (when checking Domain nic.example.com error= nic.example.com is not available: Zone is not supported)
so it requires to add .com TLD and when creating nic.example.com it adds it into .COM TLD not into .example.com too

Screenshot 2023-12-30 at 11 51 21 Screenshot 2023-12-30 at 11 50 48 Screenshot 2023-12-30 at 12 14 06 Screenshot 2023-12-30 at 12 14 32

Spec11 reporting to be enchanced

  • All discovered domains to be stored in database table.
  • To be generated better daily and monthly report - both total and per registrar.

Confirmation Dialog Box Missing for Delete Actions

We've encountered an issue within the tables module powered by Tabulator.io. The core of the problem lies in the interaction with the 'Delete' action buttons. When these buttons are clicked, the expected confirmation dialog box does not appear. This absence of a confirmation step is a critical issue, as it increases the risk of unintended data deletions.

Our team is diligently investigating to identify and rectify the underlying cause of this malfunction. However, we recognize the value of community input and diverse perspectives in troubleshooting complex issues. Thus, we are reaching out for assistance.

If you have experience with JavaScript event handling in Tabulator.io, or if you have encountered and addressed similar issues in your projects, we would greatly appreciate your insight. Any suggestions, experiences, or code examples that could help us understand and solve this issue are welcome.

Test platform on following OS

  • AlmaLinux
  • Alpine Linux
  • Debian 12
  • FreeBSD 13.2
  • Ubuntu 22.04
  • Windows Core Standard

And with following DB:

  • MariaDB/MySQL
  • PostgreSQL

Expand Documentation

We are actively seeking contributors to help expand our project documentation. Our goal is to create a thorough and user-friendly guide that covers various aspects of configuring and running a TLD registry in compliance with ICANN requirements.

Key areas where we need detailed documentation include:

  1. Architecture Overview: Insight into the system architecture, explaining how different components interact and the rationale behind design choices.

  2. Possible Settings and Configurations: Detailed guidance on various settings and configurations, providing users with the knowledge to tailor the system to their specific needs.

  3. Registrar Management: Information on managing registrar operations, addressing common registrar questions, and best practices for smooth functioning.

  4. Component Details: In-depth explanations of different components, how they can be configured, and their role in the overall system.

  5. ICANN Compliance: Guidance on how to ensure that the registry operations align with ICANN requirements, including necessary procedures and standards.

We believe that robust documentation is crucial for empowering users and fostering a collaborative community. Whether you have expertise in one of these areas or are interested in researching and writing about them, your contribution would be immensely valuable.

Please feel free to reach out if you have any questions, or jump straight into contributing by picking a section that aligns with your interest or expertise. We appreciate any level of involvement, whether it's writing a complete section or simply proofreading and suggesting improvements.

Thank you for considering contributing to our project's documentation. Your efforts will help make this tool more accessible and understandable to everyone looking to run their TLD registry.

File upload retry

Scripts that upload files, like escrow, lordn or reporting should have failsafe checks and if upload fails, to try to upload it again in some time. And if fails again, to try one more time.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.