This repository contains the KoinX Backend Internship Assignment, focusing on building a production-grade solution with clean code, scalable architecture, and best practices.
go to [https://koinx-assignment-994678300962.asia-south1.run.app]
- API Development: Built using Node.js and Express.js.
- Database Integration: Utilizes MongoDB for data storage.
- Cryptocurrency Data: Fetches and processes cryptocurrency data from external APIs.
- Docker Support: Includes a Dockerfile for containerization.
- Node.js
- Express.js
- MongoDB
- Mongoose
- Axios
- Docker
- Node.js installed on your machine.
- MongoDB instance running locally or a cloud-based MongoDB URI.
- Docker (optional, for containerization).
-
Clone the repository:
git clone https://github.com/saketh-05/KoinX-Backend-Assignment.git cd KoinX-Backend-Assignment
-
Install dependencies:
npm install
-
Set up environment variables:
Create a
.env
file in the root directory and add the following:MONGODB_URI=your_mongodb_uri PORT=your_preferred_port
-
Run the application:
npm start
The server should now be running at
http://localhost:your_preferred_port
.
-
Build the Docker image:
docker build -t koinx-backend-assignment .
-
Run the Docker container:
docker run -p your_preferred_port:your_preferred_port --env-file .env koinx-backend-assignment
- GET
/api/transactions/:address
: Fetches cryptocurrency transactions for a given address. - GET
/api/balance/:address
: Retrieves the current balance for a given address. - GET
/api/price
: Returns the current price of Ethereum.
The application is deployed and accessible at koin-x-backend-assignment-self.vercel.app.
Contributions are welcome! Please fork the repository and create a pull request with your changes.
This project is licensed under the MIT License.