https://github.com/bluebigthink/challenge
https://github.com/bluebigthink/challenge
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/bluebigthink/challenge
- Owner: BlueBigThink
- Created: 2024-07-10T17:21:58.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-07-10T17:48:38.000Z (almost 2 years ago)
- Last Synced: 2025-03-21T08:26:28.362Z (over 1 year ago)
- Language: Python
- Size: 385 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
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.