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

https://github.com/bluebigthink/challenge


https://github.com/bluebigthink/challenge

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

          

# Django and React Authentication with JWT and HTTP-Only Cookies

This project implements a user authentication system using Django and React. It includes user registration, login, logout, and fetching user data. Authentication is handled using JWT (JSON Web Tokens) and HTTP-only cookies for improved security. The application's frontend is styled using Bootstrap.

The project consists of two directories:

- `client`: Contains the React application
- `server`: Contains the Django backend

## Installation

To run this project on your local machine, follow the steps below:

### Prerequisites

Ensure you have the following installed on your local machine:

- Python 3.8 or higher
- Node.js v14.15.0 or higher
- npm 6.14.9 or higher

### Setup

1. Clone the repository:
```
git clone https://github.com/verifiednetwork-lab/challenge.git
```
2. Change into the directory:
```
cd challenge
```

### Server

1. Navigate to the `server` directory:
```
cd server
```
2. Install Django and other dependencies:
```
pip install -r requirements.txt
```
3. Run the server:
```
python manage.py runserver
```

### Client

1. Navigate to the `client` directory:
```
cd ../client
```
2. Install all the dependencies:
```
npm install
```
3. Run the client:
```
npm start
```

Now, your application should be running at `localhost:3000`.

Note:
- The Django server should be running at the same time as the React application for the system to function properly.
- The application uses the email field instead of the username field for user identification.

## Task
1. Add an input field for the user's Ethereum wallet address to the registration page. When a user registers an account, this wallet address must be saved to the database.
2. After login, the homepage must show the balance of the user's Ethereum wallet address.