/mjobi

mjobi personal portfolio website hosted at mjobi.com

Primary LanguageCSS


Django Portfolio Application with User chat and Registration

This Django portfolio project implements a chat application with user registration functionality. The application allows users to register, log in, and engage in real-time chat interactions. This README provides an overview of the project structure and important details for setup, usage, and contribution.

Installation

  • Clone the repository to your local machine:

    git clone <repository_url>
    
  • Navigate to the project directory:

    cd <project_directory>
    
  • Install the required dependencies using pip:

    pip install -r requirements.txt
    
  • Set up the database and apply migrations:

    python manage.py makemigrations
    python manage.py migrate
    
  • Run the development server:

    python manage.py runserver
    

    The application will be accessible at http://127.0.0.1:8000/.

Usage

  • User Registration: Users can register for an account by accessing the registration page and providing their name, username, email, and password. The registration process validates email and username uniqueness.

  • User Login: After registering, users can log in by providing their username and password on the login page.

  • Password Reset: Users can request a password reset by providing their registered email. An email with instructions for resetting the password will be sent.

  • Accessing Dashboard: Authenticated users can access the dashboard by navigating to the dashboard page.

  • Chat Functionality: The application provides chat functionality that requires a valid username and email. Users can access the chat feature after successful registration or login.

  • Logging Out: Users can log out by clicking the "Logout" button, which will redirect them to the home page.

Configuration

  • JavaScript: The project utilizes JavaScript for various functionalities, including form submission and an image slider. Here's a brief overview of the JavaScript used in the project:

    • Form Submission: JavaScript code to handle form submission using AJAX, appending form data, and making a POST request to the server for user registration. It also displays alerts for successful user creation or error messages.

    • Image Slider: JavaScript code to create an image slider that cycles through a set of images at a specified interval. The images are loaded from specified paths and displayed in an HTML element with the ID 'slider'.

    To modify or customize the behavior of these features, you may need to adjust the corresponding JavaScript code accordingly.

Contributing

If you would like to contribute to this project:

  1. Fork the repository.
  2. Create a new branch for your feature: git checkout -b feature-name
  3. Make the necessary changes and commit them: git commit -m 'Add feature'
  4. Push the changes to your branch: git push origin feature-name
  5. Open a pull request, providing a detailed description of the changes made.