NumberSearch is the website for Accelerate Networks a Seattle-based communication services company. ☎
NumberSearch.Mvc contains a session-based shopping cart and ecommerce system to enable customers to submit orders for products, services, and phone numbers. The number searching tool allows you to purchase a phone number and queries a PostgreSQL database hosted locally alongside the Mvc app to maximize performance. The Ingest app pulls between 300 thousand and a million purchasable phone numbers a day from a half dozen upstream VOIP carriers. The most popular area codes are refreshed every 15 minutes.
Porting is the process of moving a phone number from one carrier to another. When customers switch their VOIP service to Accelerate Networks they often choose to retain their existing phone numbers by using the porting process. The bulk phone number porting tool allows enterprise customers to move hundreds of numbers over to our network in a single order. It also verifies the current carrier and caller Id records to help our customers make sure that they are bringing over the phone numbers that intended too.
The Ops app is an administrative tool for processing orders submitted through the Mvc app and handling line of business task like registering phone number for E911 service, completing port requests, and managing the hardware inventory deployed onsite to customers.
There are three supporting libraries: Tests, DataAccess, and FirstCom. Tests is where all our unit, integration, and functional tests are written. The tests verify that our code can correctly and consistently interact with our vendors and 3rd party dependencies. The DataAccess library is a set of data models and SQL queries for interacting with the PostgreSQL database that is shared between the Mvc, Ops, and Ingest apps. Finally the FirstCom library exists to isolate the autogenerated code required to interact with a vendor’s SOAP API endpoints. 👀
The Messaging project is an API that abstracts our upstream SMS/MMS carriers from our internal services.
Install .Net Core SDK, navigate to the project folder and run dotnet publish --configuration Release
Create a cronjob using crontab -e
to run the ingest:
23 1 * * * /usr/bin/dotnet /var/www/numberSearch.Ingest/NumberSearch.Ingest.dll >> /var/log/NumberSearchIngest.log 2>&1
Move numbersearch.service to the correct directory, enable it and start the process:
cp numbersearch.service /etc/systemd/system/numbersearch.service
chmod 644 /etc/systemd/system/numbersearch.service
systemctl daemon-reload
systemctl enable numbersearch.service
systemctl start numbersearch.service