Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/smoke221/pioneer_backend_assignment

The assignment involves setting up user authentication with JWT, developing API endpoints to fetch data, documenting the API using Swagger for better understanding, securing API endpoints for authenticated users, and optionally, retrieving Ethereum account balances using web3.js.
https://github.com/smoke221/pioneer_backend_assignment

assignment data-retrieval express javascript jwt-authentication logout mongodb nodejs swagger-ui

Last synced: 27 days ago
JSON representation

The assignment involves setting up user authentication with JWT, developing API endpoints to fetch data, documenting the API using Swagger for better understanding, securing API endpoints for authenticated users, and optionally, retrieving Ethereum account balances using web3.js.

Awesome Lists containing this project

README

        

# Pioneer Backend Assignment

The application involves setting up user authentication with JWT, developing API endpoints to fetch data, documenting the API using Swagger for better understanding, securing API endpoints for authenticated users, and optionally, retrieving Ethereum account balances using web3.js. These tasks include creating functionalities like user registration, login, logout, fetching data with filters, JWT authentication, adding middleware, and handling errors effectively.

### [Application is delpoyed](https://pioneer-backend-assignment.onrender.com) on render.
Kindly note that due to the nature of free hosting on Render, the application's speed might be slightly affected. Your patience is greatly appreciated.

### [Swagger Documentation](https://pioneer-backend-assignment.onrender.com/api-docs/)
Feel free to dive into the API documentation via Swagger. This interactive platform allows you to test all the routes seamlessly.

## Accessing the Pioneer Backend Assignment

If you're interested in exploring the Pioneer Backend Assignment, here you go:

1. **Install Node.js**: If you haven't already, you'll need to install Node.js on your computer. You can download the installer from the [official Node.js website](https://nodejs.org/), then follow the installation instructions for your operating system.

2. **Clone the GitHub Repository**: After installing Node.js, you'll need to clone the GitHub repository for the Pioneer Backend Assignment. Follow these steps:

- Open your terminal or command prompt.
- Navigate to the directory where you want to clone the repository.
- Run the following command:
```
git clone https://github.com/Smoke221/pioneer_backend_assignment.git
```

3. **Access the Application**: Once you've cloned the repository, navigate into the `pioneer_backend_assignment` directory in your terminal or command prompt.

4. **Install dependencies**: Run the following command to install the dependencies required for the application:
```
npm install
```
5. **Start the Application**: Run the following command to start the application:
```
node app.js
```
#### And thats it your app will be running on ``` http://localhost:3000/ ```

## User Flow

1. **Registration**: Begin by registering your account to access the full suite of features.

2. **Login**: Once registered, log in to your account securely.

3. **Retrieve Data**: Utilize API endpoints to fetch data, tailored to your preferences, from public sources.

4. **Enter Secure Zone**: Access the secure area reserved exclusively for authenticated users. Only those logged in can enter this zone.

5. **Fetch Ethereum Account Balance**: Optionally, retrieve the balance of an Ethereum account by providing its address.

6. **Logout**: When you're done, securely log out of your account to protect your privacy.

### Tech Stack
- Javascript HTML Icon
- Node JS HTML Icon
- Express HTML Icon
- Mongo DB HTML Icon