markmoffat https://markmoffat.com Mark Moffat portfolio Sat, 16 Dec 2023 10:26:08 GMT https://validator.w3.org/feed/docs/rss2.html squido <![CDATA[runify - Calculate all the vital metrics to plan your run]]> https://markmoffat.com/runify-calculate-all-the-vital-metrics-to-plan-your-run/ https://markmoffat.com/runify-calculate-all-the-vital-metrics-to-plan-your-run/ Sat, 16 Dec 2023 01:00:00 GMT

runify helps you to calculate all the vital metrics to plan your run/walk or crawl.

Features

  • Run Distance Calculator - Set your speed and how far you will run in a certain time period
  • Run Pace Calculator - Set your pace and calculate your times for various distances
  • Run Speed Calculator - Calculate the speed you need to run to acheive a distance within a certain time

Benefits

  • Know your pace - Setting and keeping a pace is essential to your planning of a run. You want to run a 1/2 marathon in a certain time? Knowing and training at that pace is essential. Calculate your pace to acheive your goals!
  • Set your goals - Setting goals is essential to your progress in running longer distances or faster over a set distance. Use our calculators to set a goal to run a 1/2 marathon within a certain time. Goals = progress!
  • Be consistent - Ensuring you are consistent and sticking to a steady pace allows you to plan out your run. Consistently increasing and dropping speed allows you to train better using intervals and get faster over your favourite distances.
]]>
<![CDATA[nextjs-checkout - A superfast shopping cart built with Next.js]]> https://markmoffat.com/nextjs-checkout-a-superfast-shopping-cart-built-with-nextjs/ https://markmoffat.com/nextjs-checkout-a-superfast-shopping-cart-built-with-nextjs/ Fri, 16 Jun 2023 01:00:00 GMT

nextjs-checkout is a superfast and full featured shopping cart which can be used to sell your eCommerce goods. Built with Next.js and Prisma ORM you can use nextjs-checkout as-is or extend it to meet your needs.

Features

  • Supports Stripe and Verifone payments
  • Has a Dashboard visualising orders and customers
  • Uses Prisma ORM meaning a wide range of databases are supported

So checkout the demo, or jump onto Github to get started building your eCommmerce business!

]]>
<![CDATA[helpkb - An open-source and easy to use knowledge base / FAQ]]> https://markmoffat.com/helpkb-open-source-and-easy-to-use-knowledge-base-faq/ https://markmoffat.com/helpkb-open-source-and-easy-to-use-knowledge-base-faq/ Mon, 29 May 2023 01:00:00 GMT

helpkb is a superfast and easy to use knowledge base / FAQ to help your customers get the info they need, when they need it most.

It's been proven that empowering your customers and staff to self serve and access information quickly and easily will boost customer satisfaction, reduce queries and make everyone's life easier. We've created helpkb to do just that. A FREE, super fast and easy to use knowledge base or FAQ so information is always on hand.

So checkout the documentation / demo, and follow our guide to get started building your knowledge base / FAQ today!

Screenshot:

helpkb screenshot

]]>
<![CDATA[squido - A dead simple no-code static HTML website builder]]> https://markmoffat.com/squido-a-dead-simple-no-code-static-html-website-builder/ https://markmoffat.com/squido-a-dead-simple-no-code-static-html-website-builder/ Tue, 13 Apr 2021 01:00:00 GMT

squido is a dead simple static website builder which can be hosted anywhere for super fast static HTML websites and very little effort.

The advantage of squido is that is has all the basics to build and deploy a static website built into the core. This means you don't have to waste time learning the ins and outs, writing code and play around with deployment. You simply do the writing and customization of style / layout and hit deploy.

Static websites have many benefits seen here but sometimes it's best to simply try for yourself.

So checkout the documentation, clone one of the demo repos and get started building your website today!

squido screenshot

]]>
<![CDATA[expressCart - A full featured Node.js Shopping Cart]]> https://markmoffat.com/expresscart-a-full-featured-node-js-shopping-cart/ https://markmoffat.com/expresscart-a-full-featured-node-js-shopping-cart/ Mon, 15 Feb 2021 00:00:00 GMT expressCart - A full featured Node.js Shopping Cart

expressCart - A full featured Node.js Shopping Cart

expressCart is a Shopping Cart built with Nodejs and ExpressJS. The application has PayPal Express Checkout, Stripe checkout and Authorise.Net built-in. expressCart uses MongoDB database backend.

The application is designed to be easy to use and install and based on search for simplicity rather than nested categories. Simply search for what you want and select from the results. expressCart uses powerful lunr.js to index the products and enable the best search results.

Website: https://expresscart.markmoffat.com/

Demo: https://demo.expresscart.markmoffat.com

Features

  • Payments: expressCart has built in PayPal Express Checkout, Stripe checkout, Authorize.Net, Adyen and Instore (manual) payments.
  • Search: expressCart is a search based Shopping Cart backed by Lunr.js indexing to create the best possible results on searches.
  • Backend: expressCart uses MongoDB for a database.
  • Design: expressCart has a simple flat and responsive design.
  • Responsive: expressCart is built using Bootstrap, allowing it to be responsive and work on all devices.
  • Themes: expressCart allows for custom themes to style the cart exactly how you like it.
  • Modules: Support for custom modules. Built in modules are: Shipping and Discount vouchers

Screenshots

Homepage:
Homepage

Admin manage settings:
Admin manage settings

Popout cart:
Popout cart

Dashboard:
Dashboard

Running in production

Using PM2 is the easiest and best option for running production websites.
See the PM2 for more information or a short guide here: /running-nodejs-applications-in-production-forever-vs-supervisord-vs-pm2/.

]]>
<![CDATA[openKB - Open Source Node.js Markdown based FAQ]]> https://markmoffat.com/openkb-open-source-node-js-markdown-based-faq/ https://markmoffat.com/openkb-open-source-node-js-markdown-based-faq/ Sun, 14 Feb 2021 00:00:00 GMT openKB - Open Source Node.js Markdown based FAQ

openKB - Open Source Node.js Markdown based FAQ

openKB is an open source Markdown based Knowledge base application (FAQ) built with Nodejs and ExpressJS. The application uses an embedded database (nedb) for easy installation without a full Database server.
The application is designed to be easy to use and install and based around search rather than nested categories. Simply search for what you want and select from the results.

Demo: https://openkb.mrvautin.com

Installation

  1. Clone Repository: git clone https://github.com/mrvautin/openKB.git && cd openKB
  2. Install dependencies: npm install
  3. Start application: npm start
  4. Go to  http://127.0.0.1:4444 in your browser

Features

  • Search: openKB is a search based Knowledgebase (FAQ) backed by Lunr.js indexing to create the best possible results on searches.
  • Backend: openKB uses the pure javascript nedb embedded database. This means no external databases need to be setup.
  • Design: openKB is meant to be simple flat design. With that said, openKB is very customisable by adding your CSS file to /public/stylesheets/ and adding a link in /views/layouts/layout.hbs you can add your own styling and graphics.
  • Responsive: openKB is built using Bootstrap allowing it to be responsive and work on all devices. The admin can be a little difficult editing Markdown on smaller screens.
  • Mermaid: openKB allows for Mermaid charts in articles.
  • Editor: openKB uses Markdown-it which is based off the CommonMark spec. This allows for the very best Markdown experience.
  • Image management: openKB allows for drag and drop of images into articles. The image is automatically uploaded to the server in the background. Google Chrome users can also paste images directly from the clipboard.

Screenshots

Homepage

Editor

Article view

Article filtering

Files

Admin

Visit: http://127.0.0.1:4444/login

A new user form will be shown where a user can be created.

Config

There are are a few configurations that can be made which are held in /routes/config.js. If any values have been changed the app will need to be restarted.

Running in production

Using PM2 seems to be the easiest and best option for running production websites.
See the PM2 for more information or a short guide here: https://mrvautin.com/Running-Nodejs-applications-in-production-forever-vs-supervisord-vs-pm2.

]]>
<![CDATA[adminMongo - MongoDB GUI]]> https://markmoffat.com/adminmongo/ https://markmoffat.com/adminmongo/ Sat, 13 Feb 2021 00:00:00 GMT adminMongo: MongoDB GUI

adminMongo: MongoDB GUI

adminMongo is a Web based user interface (GUI) to handle all your MongoDB connections/databases needs. adminMongo is fully responsive and should work on a range of devices.

adminMongo connection information (including username/password) is stored unencrypted in a config file, it is not recommended to run this application on a production or public facing server without proper security considerations.

Installation

  1. Clone Repository: git clone https://github.com/mrvautin/adminMongo.git && cd adminMongo
  2. Install dependencies: npm install
  3. Start application: npm start
  4. Visit http://127.0.0.1:1234 in your browser

Features

  • Manage from a connection level for easy access to multiple databases
  • Create/Delete databases
  • Create/Delete/Edit collection
  • Create/Delete/Edit documents
  • Create/Delete indexes
  • Query documents
  • Collection statistics
  • Export collections in JSON format

Limitations

  • Documents need to have an "_id" value which is a string, integer, or MongoDB ObjectId. Documents using Composite ID indexing is currently not supported.

Configuration

adminMongo will listen on host: localhost and  port: 1234 by default.
This can be overwritten by adding a config file in /config/app.json. The config file can also override the default 5 docs per page.
The config file options are:

    {
        "app": {
            "host": "10.0.0.1",
            "port": 4321,
            "docs_per_page": 15
        }
    }

Note: Any changes to the config file requires a restart of the application

Usage

Create a connection

After visiting http://127.0.0.1:1234 you will be presented with a connection screen. You need to give your connection a unique name as a reference when using adminMongo and a MongoDB formatted connection string. The format of a MongoDB connection string can form: mongodb://<user>:<password>@127.0.0.1:<port>/<db> where specifying to the <db> level is optional. For more information on MongoDB connection strings, see the official MongoDB documentation.

Note: The connection can be either local or remote hosted on VPS or MongoDB service such as MongoLab.

The Connection setup screen

Connection/Database admin

After opening your newly created connection, you are able to see all database objects associated with your connection. Here you can create/delete collections, create/delete users and see various stats for your database.

The connections/database screen

Collections

After selecting your collection from the "Database Objects" menu, you will be presented with the collections screen. Here you can see documents in pagination form, create new documents, search documents, delete, edit documents and view/add indexes to your collection.

The collections screen

Searching documents

You can search documents using the Search documents button on the collections screen. You will need to enter the key (field name) and value. Eg: key = "_id" and value = "569ff81e0077663d78a114ce".

You can clear your search by clicking the Reset button on the collections screen.

The collections screen

Documents

Adding and editing documents is done using a JSON syntax highlighting control.

Editing a document

Indexes

Indexes can be added from the collection screen. Please see the official MongoDB documentation on adding indexes.

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D
]]>