ShahmarAliyev / solo-codesmith

A restaurant search web application that you can save your favourite restaurants and appointments

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Restaurant Search and Favorites App

This is a README file for a restaurant search and favorites app. The app allows users to search for restaurants using the Yelp API, add them to their favorites list, and create appointments. It also includes authentication functionality for secure access.

Technologies Used

The following technologies and libraries were used to develop this app:

  • @reduxjs/toolkit:
  • express: Version 4.18.2
  • mongodb: Version 5.4.0
  • react: Version 18.2.0
  • react-redux: Version 8.0.5
  • react-router: Version 6.11.1
  • redux-persist: Version 6.0.0
  • sass: Version 1.62.1

Features

The app includes the following features:

  1. Restaurant Search: Users can search for restaurants using the Yelp API. The search functionality allows users to enter specific criteria such as location, cuisine, or restaurant name.

  2. Favorites: Users can add restaurants to their favorites list, allowing them to easily access and view their preferred choices.

  3. Appointments: Users can create appointments for specific restaurants, enabling them to reserve a table or plan their visits in advance.

  4. Authentication: The app includes authentication functionality to ensure secure access. Users can create an account, log in, and manage their profile information.

Demo: Restaurant Search App GIF

Setup and Installation

To set up the app locally, follow these steps:

  1. Clone the repository from GitHub.

  2. Install the required dependencies using a package manager such as npm or yarn. Run the following command in the project's root directory:

    npm install
  3. Set up the necessary environment variables. Ensure that you have the required API keys and configuration details for services like Yelp and MongoDB.

  4. Start the development server using the following command:

    npm start
  5. Access the app by opening your browser and navigating to http://localhost:3000.

Usage

Once the app is up and running, users can perform the following actions:

  • Search for restaurants by entering criteria such as location, cuisine, or restaurant name.
  • View search results and restaurant details including ratings, reviews, and contact information.
  • Add preferred restaurants to the favorites list for quick access.
  • Create appointments for specific restaurants to reserve tables or plan visits.
  • Register an account or log in to an existing account for personalized access.
  • Manage profile information, including account details and preferences.

Contribution

Testing

Open a terminal and navigate to the root directory of the project.

Run the following command to execute the tests using Jest:

Replace with the name of the individual test file you want to run.

 jest <test-file-name>.js

You can run this command for each test file in the tests folder to execute all the tests.

Alternatively, if you want to run all the tests in the tests folder, you can simply use the following command:

 jest

This command will run all the test files in the tests folder.

Contributions to this project are welcome. To contribute, follow these steps:

  1. Fork the repository.

  2. Create a new branch for your feature or bug fix.

  3. Make the necessary changes and commit them.

  4. Push your changes to your fork.

  5. Submit a pull request describing your changes.

Please ensure that your code adheres to the project's coding guidelines and conventions.

License

This project is licensed under the MIT License.

Contact

For any inquiries or support, please contact Shahmar Aliyev.

About

A restaurant search web application that you can save your favourite restaurants and appointments

License:MIT License


Languages

Language:JavaScript 81.3%Language:SCSS 17.8%Language:HTML 0.8%