https://github.com/nafeeur10/linker
Link Harvester is a simple app that collects links from users. Any user can submit links that are validated and stored by the application. Users can see the submitted (links/domains) and search, and sort those data. The results are displayed in a paginated table.
https://github.com/nafeeur10/linker
alpinejs docker docker-compose laravel mysql tailwindcss
Last synced: 3 months ago
JSON representation
Link Harvester is a simple app that collects links from users. Any user can submit links that are validated and stored by the application. Users can see the submitted (links/domains) and search, and sort those data. The results are displayed in a paginated table.
- Host: GitHub
- URL: https://github.com/nafeeur10/linker
- Owner: nafeeur10
- Created: 2024-01-31T10:30:32.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-02-03T15:00:36.000Z (over 2 years ago)
- Last Synced: 2025-05-12T08:26:35.151Z (about 1 year ago)
- Topics: alpinejs, docker, docker-compose, laravel, mysql, tailwindcss
- Language: PHP
- Homepage:
- Size: 403 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Background of Link Harvester
Link Harvester is a simple app that collects links from users. Any user can submit links that are
validated and stored by the application. Users can see the submitted (links/domains) and
search, and sort those data. The results are displayed in a paginated table.
## Technology Used
- **[Framework: Laravel](https://laravel.com/)**
- **[Front End: AlpineJS](https://alpinejs.dev/)**
- **[Docker](https://www.docker.com/)**
- **[Database: MySQL](https://mysql.com)**
- **[Cache: Redis](https://redis.io/)**
- **[Webserver: nginx](https://www.nginx.com/)**
## Install Docker Engine on Ubuntu
My Docker Version **25.0.0**. To Install run these commands:
```
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
```
## Install Docker-Compose on Ubuntu
My Docker Compose version **v2.24.2**. Remove previous version if you are using any version before 2.24.2.
```
sudo apt remove docker-compose
```
To Install run these commands:
```
sudo curl -SL https://github.com/docker/compose/releases/download/v2.24.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
```
To check the version:
```
docker-compose --version
```
## Setup Guideline
1. `git clone https://github.com/nafeeur10/Linker.git`
2. `docker-compose up --build -d`
3. Go to the docker exec with command `docker-compose exec php bash`
4. Give permission (it could miss) `chmod 777 -R .`
5. `composer install`
6. `npm install`
7. Set your database in `.env` file.
```DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=links
DB_USERNAME=root
DB_PASSWORD=NrR@6307001
```
8. Set your Redis Environment
```EDIS_CLIENT=predis
CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
```
9. Run the migration `php artisan migrate`
10. Run the queue: `php artisan queue:work`
## Browse Link
```
http://localhost:8001
```
## Testing
Wrote unit testing for Helper function `getMainDomain()`. Added three test cases. All are passed.
## Video of Assignment
https://www.loom.com/share/ff02f8b8b4124bc190ec3f510a351b89?sid=c8ac9d2a-2f13-4fff-ae3c-495eb69481f8