This is the Section 1 of devzery assigments. Total 40+ commits
-
User Registration and Authentication:
- Implement a user registration system with fields for username, email, and password.
- Upon registration, send a confirmation email with a verification link. Users should only be able to log in after email verification.Users will only be able to log in after clicking the link to confirm their email addresses. Backend logic will validate the token and update the user's account status upon successful verification.
-
Profile Page:
- Create a user dashboard where registered users can:
- View and edit their profiles (username, email).
- View all the profiles registered.
- Create a user dashboard where registered users can:
-
Password Reset:
- Allow users to request a password reset via email. Generate a secure token for resetting the password.
To test this on your local machine, follow these steps:
Before you begin, make sure you have the following installed:
- Python
- pip (Python package manager)
- Node.js (with npm, the Node.js package manager)
Open your terminal and navigate to the directory where you want to store the project. Then, run the following command to clone the repository:
git clone https://github.com/ashkaaar/devzery-assignment.git
Navigate into the project directory:
cd devzery-assignment
Create a virtual environment to isolate project dependencies:
python -m venv venv
Activate the virtual environment:
On macOS or Linux:
source venv/bin/activate
On Windows (Command Prompt)::
venv\Scripts\activate
While in the project directory and with your virtual environment activated, install the required backend dependencies using pip:
pip install -r requirements.txt
By default, the project uses a SQLite database. Initialize the database by running the following command:
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver
This will start the backend development server at http://127.0.0.1:8000/.
Navigate to the "frontend" directory:
cd frontend
Install the required frontend dependencies using npm:
npm install
Start the React development server:
npm start
This will start the frontend development server, and you should see output indicating that the server is running. Open your web browser and go to http://localhost:3000 to access the React Frontend.