Buzeqq / TERMINAL

Multifunctional database for information gathering in a scientific research laboratory
https://terminal.mchojnacki.dev/
MIT License
3 stars 0 forks source link

Terminal logo

Welcome

Welcome to the TERMINAL project! Terminal stands for mulTifunctional databasE foR inforMation gatherIng iN A scientific research Laboratory. This system is build for the purpose of managing the data of a scientific research laboratory, and it is designed to be used by the laboratory's staff, researchers, and students. The system is built using the ASP .NET Core framework, and Angular 18.

Table of Contents

  1. Project Architecture
  2. Getting Started
  3. Building and running
  4. Testing
  5. License

Project Architecture

Getting Started

Prerequisites

To develop the application you must first install the following tools:

Building and running

  1. Clone the repository

  2. Start the database container with docker

    docker run -p 5432:5432 -v /path/to/database/volume/:/var/lib/postgresql/data --env POSTGRES_PASSWORD=root --env POSTGRES_DB=terminal --env POSTGRES_USER=root --name terminal.database --pull missing postgres 
  3. Navigate to the Backend directory and apply the database migrations

    ./update-database.sh UserDbContext
    ./update-database.sh TerminalDbContext
  4. To run backend, swagger ui is available at http://localhost:5006/swagger/index.html

    dotnet run
  5. Navigate to the Frontend directory and install the dependencies

    npm ci
  6. To run frontend, then head to http://localhost:4200

    npm run start

    If you are using JetBrains IDE's there are run configurations available for the backend, frontend and docker.

Testing

  1. Make sure you are able to build the project
  2. Navigate to the Backend directory and run the tests
    dotnet test
  3. Navigate to the Frontend directory and run the tests
    npm run test

//: # ()

License

This project is licensed under the MIT License. See the LICENSE file for more details.