Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 

README.md

MeasureThat.net

MeasureThat.net is the website to create and run JavaScript benchmarks. It uses BenchmarkJS (v.2.1.1) as a test runner.

Running at: https://www.measurethat.net/

How to run MeasureThat on Linux using PostgreSQL:

This blog post explains how to build and run the app on Linux using PostgreSQL: http://the-coderok.azurewebsites.net/2016/10/11/Run-MeasureThat-net-application-on-Linux-building-and-running-the-application/

get started.

Check out the application's source code:

Open the terminal window. Create folder source for the application and check out the code:

$ mkdir source
$ cd source/
$ git clone https://github.com/thecoderok/MeasureThat.net.git
Cloning into 'MeasureThat.net'...
remote: Counting objects: 2324, done.
remote: Compressing objects: 100% (17/17), done.
remote: Total 2324 (delta 2), reused 0 (delta 0), pack-reused 2305
Receiving objects: 100% (2324/2324), 1.16 MiB | 650.00 KiB/s, done.
Resolving deltas: 100% (1478/1478), done.
Checking connectivity... done.
vitalii@vitalii-vm:~/source$ 

Build the application

Now everything is ready to build the application. Step into the folder with source code (MeasureThat.net/src/BenchmarkLab$ ) and run restore dotnet, npm and bower packages (it will take couple of minutes):

dotnet restore
npm install
bower install

Build frontend:

gulp

Build the application:

dotnet build

Build should succeed:

build_the_application

Prepare the configuration file

Open appsettings.json file in the text editor and:

  • Disable External authentication: set UseFacebookAuthentication / UseGoogleAuthentication / UseTwitterAuthentication / UseMicrosoftAuthenticaiton to false (Please let me know in the commens if you want to be able to use External authentication, I can explain how it can be done )
  • Set RequireEmailConfirmation to false
  • Disable reCaptcha: set ReCaptchaEnabled to false.
  • Set database type to PostgreSQL.

Result should look like this:

{
  "ApplicationInsights": {
    "InstrumentationKey": "6fbb4f00-bf94-4fe8-a0e3-a5b4e1283fc2"
  },
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Debug",
      "System": "Information",
      "Microsoft": "Information"
    }
  },
  "UseFacebookAuthentication": false,
  "UseGoogleAuthentication": false,
  "UseTwitterAuthentication": false,
  "UseMicrosoftAuthenticaiton": false,
  "ResultsConfig": {
    "UploadResultsToDb": true,
    "UploadGuestUserResultsToDb": true
  },
  "GoogleAnalytics": {
    "Enabled": true,
    "Identifier": "UA-83528903-1"
  },
  "AllowGuestUsersToCreateBenchmarks": true,
  "SenderEmail": "MeasureThat@outlook.com",
  "SenderName": "MeasureThat Admin",
  "DatabaseType": "PostgreSQL",
  "RequireEmailConfirmation": false,
  "ReCaptchaEnabled": false 
}

Prepare the database

Now we need to prepare the database. Switch to postgres user and run the postgres client:

$ sudo -i -u postgres
$ psql

If you need to set the passowrd for the postgres user, enter command the password to do so. This may be needed right after PostgreSQL was installed.

postgres=# \password postgres
Enter new password: 
Enter it again:

Create the database MeasureThat:

postgres=# create database MeasureThat;
CREATE DATABASE

You can exit from postgres cleint and switch back to the original user:

postgres=# \q
postgres@vitalii-vm:~$ exit
logout
vitalii@vitalii-vm:~/source/MeasureThat.net/src/BenchmarkLab$ 

Set the connection string (using Secret Manager tool):

$ dotnet user-secrets set ConnectionStrings:DefaultConnection 'User ID=postgres;Password=root;Host=localhost;Port=5432;Database=MeasureThat;
Pooling=true;'

Create the database schema:

$ dotnet ef migrations add testPg
Project BenchmarkLab (.NETCoreApp,Version=v1.0) was previously compiled. Skipping compilation.
Done. To undo this action, use 'dotnet ef migrations remove'

$ dotnet ef database update
Project BenchmarkLab (.NETCoreApp,Version=v1.0) will be compiled because Input items added from last build
Compiling BenchmarkLab for .NETCoreApp,Version=v1.0
Compilation succeeded.
    0 Warning(s)
    0 Error(s)
Time elapsed 00:00:04.6049020
 
Done.

Run the application

Set the ASPNETCORE_ENVIRONMENT variable to Development

$ export ASPNETCORE_ENVIRONMENT=Development

And (drum roll) run the application:

dotnet run

IMAGE ALT TEXT HERE

You can’t perform that action at this time.