/DocHouse

MERN stack web application

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

DocHouse - Doctor Appointment Web Application

MERN full stack web application that provides doctor appointment services. The application intended to serve two sorts of user audience: patients and doctors, who are required to register in order to use services, whereas, guests will be able to collect general details and information about the provided facilities. Technologies used in development: Node js, Express js, MongoDb, React js.

Demo

DocHouse WebApp

Installation

In order to run the application in local environment follow instructions below:

  1. Copy the following URL of github public repository of the project DocHouse - Doctor Appointment Web Application
  2. On your local machine, clone the repository to the working directory using git clone <https-URL> command.
  3. Navigate to the cloned repository, and install all dependencies for the server application using the npm install command.
  4. Navigate to the client repository using cd doc-house. Install all dependencies for the client application using npm install command.
  5. To test the server application run npm test command. To test the client application run npm client-test command.
  6. Navigate back to the root repository, and run npm start which will run both client and server application concurrently.
  7. If there have not occurred prior errors until this step, npm successfully will redirect you to Dochouse homepage on your default browser.

Environment Config

Application is in development mode. Add your environment variables of database and external service credentials to the /backend/.env file. In production mode, configure environment variables and secrets in render Make sure following variables are well-defined.

  • DB_URI=''
  • DB_TEST_URI=''
  • JWT_SECRET=''
  • STRIPE_SECRET=''

Deployment

Client and server applications will be deployed separately using render platform

To deploy FrontEnd go to the dashboard, Select New+ --> Static Site Continue with following recommended variables, leave others as they are.

    Name: <unique-name-for-client-app>
    Build Command : npm run build
    Publish Directory : build
    Branch : <name-of-branch>
    Root Directory : doc-house

To deploy Backend go to the dashboard, Select New+ --> Web Service Continue with following recommended values, leave others as they are.

    Name: <unique-name-for-service-app>
    Build Command: npm start
    Start Command: npm run server
    Branch: <name-of-branch>

Continuous Integration

Github CI workflow used to automate following operations of application: build, test and deploy to clouds. Make sure to define deployment related secrets in github project. Source

Screenshots

HomePage Login
HomePage Login
Sidebar Profile
Sidebar Profile
Search Review
Search Review
Payment Chat
Payment Chat

Use case Diagram

Use Case Diagram

Future improvements

  • Providing advanced testing methods, in particular more integration tests.
  • Adding instant notification system for better user experience.
  • Processing real payments that preserve commerce protocols.

References