GithubHelp home page GithubHelp logo

0mar-helal / homeservices Goto Github PK

View Code? Open in Web Editor NEW

This project forked from abdulkareeme/homeservices

0.0 0.0 0.0 12.48 MB

JavaScript 29.15% Python 41.73% CSS 28.54% HTML 0.50% Dockerfile 0.08%

homeservices's Introduction

HomeServices

This is a Django project that provides a web application with various features. The project is containerized using Docker for easy deployment and scalability.

Features

  • Register: Users can create new accounts by providing their email and password and more .
  • Confirm Email: An email confirmation link is sent to the user's email address for account activation.
  • Login: Registered users can log in using their credentials.
  • Forget Password: Users can request a password reset email if they forget their password.
  • Home Page: The application has a home page that displays relevant information and options for users.
  • User Profile: Each user has a profile page where they can view and update their personal information.
  • Update User Information: Users can modify their profile information such as name, profile picture, and contact details.
  • Create New Service: Users can create new service listings by providing details and dinamic form for asking questions to the clients.
  • Service Details: Each service has a dedicated page displaying its information, including description, price, and seller details and it's rating.
  • Update Service: Sellers can modify their existing service details.
  • Seller Services: Sellers have a page where they can view all their listed services and informration about fast answare and average ratings.
  • Seller Rates: Sellers can view and manage the rates for their services.
  • Order Service: Users can place orders for services they wish to avail.
  • Sent Orders: Users can view the services they have ordered and track their status.
  • Received Orders: Sellers can view and manage the orders they have received.
  • Admin and Provider Login: Separate login options are available for administrators and balance providers.
  • Charge Balance: Users can add funds to their account balance.
  • Earnings: admin can view the earnings and transaction history.

Class Djagram

example1

ER Diagram

example2

Sequence Diagram (for order service preccess)

example3

APIs

View the APIs

emxample4

Deployment with Docker

This project is containerized with Docker, which facilitates easy deployment and ensures consistency across different environments. To deploy the project using Docker, follow these steps:

  1. Install Docker on your machine if you haven't already.

  2. Clone this repository to your local machine.

  3. In the project directory (that have DockerFile) , build the Docker image using the following command:

    docker build -t django-project .
    
  4. Once the image is built, you can run the project in a Docker container:

    docker run -p 8000:8000 django-project
    

    This command maps port 8000 from the container to your local machine.

  5. Access the application by visiting http://localhost:8000 in your web browser.

Make sure to configure any necessary environment variables or database settings before running the Docker image.

Testing

To run the automated tests using pytest, follow these steps:

  1. Ensure that the Docker container is running.

  2. Open a terminal and navigate to the project directory.

  3. Run the following command to execute the tests:

    docker exec -it <container_id> pytest
    

    Replace <container_id> with the ID of the running Docker container. Run this command to show the container_id :

    docker ps
    
  4. The test results will be displayed in the terminal, showing any failures or errors encountered.

Contributing

Contributions to this project are welcome. If you encounter any issues or have suggestions for improvements, please open an issue or submit a pull request.

homeservices's People

Contributors

abdulkareeme avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.