The Fdeploy project is a command line interface (CLI) application that can use simple YAML config files in your ASP.NET web projects to define deployment to one or more remote environments over SMB, like over a VPN connection using a network file share.
It can be configured to clean and purge the project, build, and publish, and even add files and folders to the published output prior to deployment.It can then deploy with various rules like "path ignore", "always update path", "clean orphaned files and folders", and more. You can even define content that can be deployed without taking the web app offline. And when it does, it uses an app offline file that you can also customize in the YAML settings.
Fdeploy also has robust retry support. When files are in-use on the remote server it will retry one or more times and wait a specified number of seconds between attempts.
Visit the repository to see how you can install this tool to begin using it right away.
1. Install Microsoft .NET
Fdeploy requires that you already have the .NET 8.0 runtime installed, which you can get at https://dotnet.microsoft.com/en-us/download.
2. Install Fdeploy
Run the following command in your command line interface (e.g. cmd, PowerShell, Terminal, bash, etc.):
Later you can update Fdeploy with the following command:
If you need to completely uninstall Fdeploy, use the command below:
There's usually more to the story so if you have questions or comments about this post let us know!
Do you need a new software development partner for an upcoming project? We would love to work with you! From websites and mobile apps to cloud services and custom software, we can help!
US Bank partnered with Fynydd to perform deep analysis on how technology can be used to offload support calls, facilitating rapid growth through acquisition. The research involved tactics across domains, including in-branch interviews in multiple states across the U.S., existing technology reviews, and more.
US Bank was acquiring smaller banks and growing at a fast pace. And with growth comes hiring new employees. And with hiring comes training. They soon discovered that there was an opportunity to re-think how they manage internal support. But they weren't sure where to begin.
Fynydd was brought in to help analyze the situation and make technical recommendations based on thorough research with the next decade in mind. We coordinated with several key stakeholder groups, like human resources, IT, branch services, and others. We traveled to several states in the continental U.S. and spoke with branch managers, tellers, and bankers, to understand their challenges with existing processes, and see their environments.
Once we understood the current state and what was needed, we authored a 105-page bound reference report outlining our findings and technical recommendations.
Some of the highlights of the analysis includes:
There's usually more to the story so if you have questions or comments about this post let us know!
Do you need a new software development partner for an upcoming project? We would love to work with you! From websites and mobile apps to cloud services and custom software, we can help!
The NameCheap project builds a command line interface (CLI) application that can add and remove text records using the NameCheap API.
It was originally built to allow for creating wildcard TLS certificates using win-acme (Let's Encrypt) on an IIS server. Creating wildcard certificates with win-acme requires DNS host validation. This application can be used with the win-acme script feature to allow it to communicate with the NameCheap API and create/delete TXT records that will validate domain ownership.
This tool does not support the complete NameCheap API. But it does handle the challenging task of adding and removing text records. Why is this challenging? The NameCheap API does not have functions to add or remove individual records, so the entire set of records must be downloaded, modified, and sent back.
Download the project and publish it from the root project folder as below.
In the publish folder, edit the appsettings.json file and supply your own values.
Once the appsettings.json file is modified, put the contents of the publish folder on your server and you should be able to use the executable with win-acme or any other tool by calling it with a fully qualified path.
The command line is in the format below:
Some examples include:
So in win-acme you would set your create script arguments to this:
Likewise, your delete script arguments would be:
The tool can be used on Linux or macOS as well. If the published executable doesn't run on macOS you may need to manually sign the published application using something like this:
There's usually more to the story so if you have questions or comments about this post let us know!
Do you need a new software development partner for an upcoming project? We would love to work with you! From websites and mobile apps to cloud services and custom software, we can help!
Fynydd was asked to build a hybrid iOS, Android, and web-based learning app platform for enrolled and public students at Bossier Parish Community College (BPCC) in Bossier City, Louisiana. This was a full-stack platform that included a data tier, API service with management interface, client apps (App Store, Google Play Store), and responsive website.
The goal of the project was to research the efficacy of gamification strategies with regard to testing up and testing out of courses prior to enrollment. Secondarily it provided a great way for students to study and hone their knowledge during each semester.
The platform provided various curriculum through video courses, which each had check your knowledge quizzing as students progressed. Students could earn badges as they advanced through their learning journey and also challenge each other to quiz games for additional badges and bragging rights via a leader board.
Some of the features of the platform include:
Android
Angular
CSS3
HTML5
Ionic Framework
iOS
JavaScript
Sass/SCSS
Amazon Web Services
C#
Github
Microsoft .NET
Microsoft Windows
React
SQL Server
There's usually more to the story so if you have questions or comments about this post let us know!
Do you need a new software development partner for an upcoming project? We would love to work with you! From websites and mobile apps to cloud services and custom software, we can help!
Fynydd was asked to help Ore-Ida and Disney by building a high-performance Sitecore platform for their upcoming sweepstakes supporting the movie Frozen. The sweepstakes was built as part of the Heinz multi-tenant Sitecore platform, with a high priority on security, performance, and availability.
The platform allowed visitors to enter the sweepstakes with enforcement of specific business logic regarding how often they could enter and how many times per day. It leveraged a two-tier caching system for optimal performance, including additional optimizations on media and delivery.
Some of the features of the platform include:
Given the large brands behind the promotion, it garnered a large amount of traffic in a relatively short period of time and was a huge success.
The performance metrics include:
CSS3
HTML5
JavaScript
Microsoft .NET
Sass/SCSS
C#
Github
Microsoft .NET
Microsoft Azure
Microsoft Windows
Sitecore
SQL Server
There's usually more to the story so if you have questions or comments about this post let us know!
Do you need a new software development partner for an upcoming project? We would love to work with you! From websites and mobile apps to cloud services and custom software, we can help!
The Benford project provides a framework for using Benford's Law to determine if a given random data set has been modified.
Benford’s Law, also known as the Law of First Digits, the Phenomenon of Significant Digits, or the Law of Anomalous Numbers is the finding that the first digits (or numerals to be exact) of the numbers found in series of records of the most varied sources do not display a uniform distribution, but rather are arranged in such a way that the digit “1” is the most frequent, followed by “2”, “3”, and so in a successively decreasing manner down to “9”. The expected distributions can be seen in the screenshots below.
Essentially, when looking at a significantly large set of numbers, this law can tell you if the distributions of first digits follows Benford's Law. Deviations of significance should indicate data tampering. This can be applied in all kinds of use cases, from social likes and follower counts, to regional vote counts, financial information, and more.
This project has some sample images and voting data that you can use to see how Benford's Law applies to them.
There's usually more to the story so if you have questions or comments about this post let us know!
Do you need a new software development partner for an upcoming project? We would love to work with you! From websites and mobile apps to cloud services and custom software, we can help!
Campus Outreach Services offers unmatched sexual assault prevention training, substance use programs, mental health school assemblies, college transitions workshops, and customized series of other wellness topics. With compelling presenters and pragmatic resources, our impact lasts beyond an hour, a week, a year. We deliver pin-drop moments for lifetime change.
Campus Outreach Services partnered with Fynydd to create an analytics dashboard for their ThinkDrink learning platform. They needed to show efficacy across demographics and teams including longitudinal test results for their ThinkDrink program.
The platform enables subscribers to track course completion, filter, compare and share results, and see overall efficacy.
Some of the key features of the project include:
CSS3
HTML5
JavaScript
Sass/SCSS
Github
Moodle
MySQL
PHP
There's usually more to the story so if you have questions or comments about this post let us know!
Do you need a new software development partner for an upcoming project? We would love to work with you! From websites and mobile apps to cloud services and custom software, we can help!
The DataStore project is a high performance JSON object store (ORM) for SQL Server.
DataStore uses and automatically creates and manages a pre-defined SQL Server data structure that can coexist with existing database objects. All database operations are performed with the DataStore helper class.
Your models are stored in the database as JSON text so you can have most any kind of object structure, provided your models inherit from DsObject.
Instantiating DataStore with settings is non-destructive. Any existing DataStore tables are left untouched. Methods to delete all or unused schema objects are provided for those edge cases.
Instantiate DataStore with a settings object and database schema will be created for all classes that inherit from DsObject. The following attributes can be used in your classes:
You can create a DataStore instance anywhere in your code:
You can also use DataStore as a singleton service:
Creating and saving a DataStore object is simple:
The saved object is updated with any changes, like lineage and depth information, creation or last update date, etc. And you can provide a list of objects to save them all in one call.
Querying the database for objects is simple too. In any read calls you can specify a DsQuery object with a fluent-style pattern for building your query. In the query you can specify property names as strings with dot notation:
Or you can use the model structure to specify names, and make code refactoring easier:
If you need to access object properties without knowing the object type, DsObject exposes JSON features that allow you to access property values using standard JSON path syntax:
Remember: these JSON features are read-only. If you change a property value in the DsObject you will need to call Serialize() again to update the JSON representation.
There's usually more to the story so if you have questions or comments about this post let us know!
Do you need a new software development partner for an upcoming project? We would love to work with you! From websites and mobile apps to cloud services and custom software, we can help!
The Clinical and Laboratory Standards Institute (CLSI) is a not-for-profit organization that develops laboratory standards worldwide. Our standards are recognized by laboratories, accreditors, and government agencies as the best way to improve medical laboratory testing.
CLSI partnered with Fynydd to create a web platform for marketing their organization, provide member and volunteer services, membership management, and a shop for their Standards documents.
The platform integrated with NetForum and other third party services to provide a single, complete access portal for staff, members, and volunteers.
The shop provided unique pricing, options, and user experiences for anonymous visitors, members, and customers in developing countries. Standards products provided digital samples and full specifications, as well as customized pricing based on the visitor.
A member portal provided everything a member needs to manage their profile, membership details, purchase history, downloadable products, event attendance, membership certification, nominations, volunteer history, and more. It also provided delegates with management tools for authorized employees in their account.
Other tools and features include public file management for volunteer communication and education, outbound links to services such as their eClipse platform and support system, a shopping cart reminder system, product import and publication tools, and so much more.
Some of the key features of the platform include:
CSS3
HTML5
JavaScript
Sass/SCSS
C#
Github
Microsoft .NET
Microsoft Azure
Microsoft Windows
NetForum
SQL Server
Umbraco CMS
There's usually more to the story so if you have questions or comments about this post let us know!
Do you need a new software development partner for an upcoming project? We would love to work with you! From websites and mobile apps to cloud services and custom software, we can help!
The U.S. Department of Justice through the Department of Alcohol, Tobacco, Firearms, and Explosives (ATF) partnered with Fynydd to create a secure web portal for their Office of Science and Technology directorate.
The platform was built using the Microsoft SharePoint ITAR platform under the most strict security protocols. This platform is built and configured specifically for secure government use.
Access to this environment required rigorous background checks at the state and federal level for each Fynydd development team member. And the subset of SharePoint functionality offered by ITAR made building in the environment a challenge. In addition, some of our work required travel to meet with the OST team in Washington D.C.
Some of the key details of the project include:
CSS3
HTML5
JavaScript
Sass/SCSS
C#
Github
Microsoft .NET
Microsoft Azure
Microsoft SharePoint
Microsoft Windows
SQL Server
There's usually more to the story so if you have questions or comments about this post let us know!
Do you need a new software development partner for an upcoming project? We would love to work with you! From websites and mobile apps to cloud services and custom software, we can help!