Skip to content

thecoderok/MeasureThat.net

Repository files navigation

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/

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.

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": "[email protected]",
  "SenderName": "MeasureThat Admin",
  "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

About

Source code of MeasureThat.net, web application to measure performance of JavaScript code snippets

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •