Wave is an efficient, scalable, and open-source backend solution designed for retrieving geographical locations of public IP addresses. It leverages the power of MaxMind's GeoLite2 database and is crafted in TypeScript. This project serves as a free microservice for VoltzzNode Enterprise.
- Typescript
- Express.js
- Helmet.js
- Node.js
- Nodemon
- MaxMind
To get started with the Wave, follow these steps:
-
Install NVM (Node Version Manager) by following the instructions for your operating system:
- Windows: Visit the NVM for Windows repository at https://github.com/coreybutler/nvm-windows and follow the installation guide.
- Linux/macOS: Open your terminal and run the following command:
curl -o- https://github.com/coreybutler/nvm-windows.git | bash
-
Reload the shell configuration
- Linux/macOS: Run the following command:
source ~/.bashrc
- Linux/macOS: Run the following command:
-
Install Node.js 21 by running the following command:
nvm install 21
-
Verify that Node.js 21 is installed:
node --version
- Clone the repository:
git clone https://github.com/Alexandru200509/wave.git
- Navigate to the project directory:
cd wave
- Install NPM packages:
npm install
- The configuration file write's itself automatically!
-
Start the server as production:
npm run start
-
Start the server as production(JavaScript build):
npm run start-js
- Important: To run the JavaScript build, you must first build the server using:
npm run build
- Important: To run the JavaScript build, you must first build the server using:
-
Start the server as dev:
npm run dev
-
Build and compile the server as executable:
npm run build
-
Test the server:
npm run test -
Overwrite the coding style:
npm run format
For detailed information about the API endpoints and request/response examples, please refer to the API Reference documentation.
This project is licensed under the CC-BY-NC-ND-4.0 license.
