/myCarango

Primary LanguageTypeScript

MyCarango

Overview

MyCarango is a Node.js application for managing and tracking the maintenance history of vehicles. This application allows users to add vehicles and log maintenance activities, providing a historical record of all maintenance performed on each vehicle.

The entire app was built on TDD, Clean Arch and Solid principles

Features

  • Add new vehicles to the system.

Future Features

  • Log maintenance activities for each vehicle.
  • Retrieve and display the maintenance history of each vehicle.

Setup

Prerequisites

  • Node.js (>= 20.x)

Installation

  1. Clone the repository:

    git clone https://github.com/vitorconti/myCarango.git
    cd my-carango
  2. Install the dependencies:

    npm install

Building the Project

To build the project, run the following command:

npm run build

This command will:

  1. Clean the dist directory.
  2. Compile the TypeScript files.
  3. Copy the ./src/infra/db/sqlite/myCarango-database.db file to the dist/src directory.

Running the Application

CLI Server

To start the CLI server:

npm run start:cli

Usage

Adding a Vehicle

To add a vehicle, run the CLI server and follow the prompt to enter the vehicle's name, brand, and year:

npm run start:cli

Development

Running in Development Mode

To run the application in development mode with auto-reloading:

npm run dev

Running Tests

To run all tests:

npm test:ci

License

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

Contributing

Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.