A full-stack unit converter web application that allows users to convert units between different measurement systems. This application is designed to convert gallons (gal), miles (mi), and pounds (lbs) to liters (L), kilometers (km), and kilograms (kg), and vice versa.
-
Client Side:
- HTML: Provides the structure of the web pages.
- CSS with Bootstrap: Adds styling and responsive design to the user interface.
- Vanilla JavaScript: Implements the client-side functionality for unit conversion.
-
Server Side:
- Node.js: Provides the runtime environment for the server.
- Express.js: A web application framework for handling routes and requests on the server.
-
Testing:
- Mocha: A testing framework for writing unit tests.
- Chai: An assertion library used in conjunction with Mocha for making test assertions.
- Conversion between different units:
- Gallons (gal) to Liters (L)
- Miles (mi) to Kilometers (km)
- Pounds (lbs) to Kilograms (kg)
- And vice versa
To run the express application, do follow the following steps
- Clone the repo:
git clone git@github.com:mrarvind90/fcc-metric-imperial-converter.git
- Navigate to the repository:
Change <repository_directory> to the name of the cloned directory.
cd <repository_directory>
- Install Dependencies:
This command will install all the necessary dependencies for the application.
npm install
- Configure Environment Variables: Rename the .env.sample file in your project directory to .env and update it with the
relevant credentials:
cp .env.example .env
- Choose Your Run Mode:
- Development Mode (with automatic code reload):
To run the application in watch mode, enabling seamless source code changes without manual server restarts, use the following command:
npm run dev
- Standard Server Mode:
If you prefer to simply run the server without automatic code reloading, you can use the following command:
npm run start
- Development Mode (with automatic code reload):
- Running the tests
- You can run unit tests for the application using Mocha and Chai. To run the tests, use the following command:
npm run test
While developing this project, there are several areas I plan to focus on for enhancements and refinements which can be found on GitHub.