Try this tutorial:
Start with a clean install of the latest release of Raspbian (currently Buster). Raspbian Buster Lite is recommended.
Update Raspbian, including the kernel and firmware, followed by a reboot:
sudo apt-get update
sudo apt-get dist-upgrade
Set the WiFi country in raspi-config’s Localisation Options: sudo raspi-config
If you have an older Raspberry Pi without an onboard WiFi chipset, the Edimax Wireless 802.11b/g/n nano USB adapter is an excellent option – it’s small, cheap and has good driver support.
With the prerequisites done, you can proceed with either the Quick installer or Manual installation steps below.
Install RaspAP from your RaspberryPi’s shell prompt:
curl -sL https://install.raspap.com | bash
The installer will complete the steps in the manual installation (below) for you.
After the reboot at the end of the installation the wireless network will be configured as an access point as follows:
IP address: 10.3.141.1
DHCP range: 10.3.141.50 to 10.3.141.255
Note: As the name suggests, the Quick Installer is a great way to quickly setup a new AP. However, it does not automagically detect the unique configuration of your RPi. Best results are obtained by connecting an RPi to ethernet (eth0) or as a WiFi client, also known as managed mode, with wlan0. For the latter, refer to this FAQ. Please read this before reporting an issue.
Simultaneous AP and Wifi client
RaspAP lets you easily create an AP with a Wifi client configuration. With your RPi configured in managed mode, enable the AP from the Advanced tab of Configure hotspot by sliding the Wifi client AP mode toggle. Save settings and start the hotspot. The managed mode AP is functional without restart.
Note: For a Raspberry Pi operating in managed mode without an eth0 connection, this configuration must be enabled before a reboot.