https://github.com/ariessa/snipit
✂️ Snips long URLs into short URLs.
https://github.com/ariessa/snipit
postgresql ruby ruby-on-rails
Last synced: 6 months ago
JSON representation
✂️ Snips long URLs into short URLs.
- Host: GitHub
- URL: https://github.com/ariessa/snipit
- Owner: ariessa
- Created: 2024-06-28T17:55:17.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-07-15T19:37:23.000Z (almost 2 years ago)
- Last Synced: 2025-04-07T10:44:29.224Z (over 1 year ago)
- Topics: postgresql, ruby, ruby-on-rails
- Language: Ruby
- Homepage:
- Size: 1.74 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ✂️ Snipit
Snipit (stylised as snipIt) is the ultimate tool for transforming those long, clunky URLs into short, snazzy links that are super easy to share. no more struggling with endless web addresses – just snip, snap, and share the url!
## Table of Contents
- [User Interfaces](#user-interfaces)
- [Tools and Technologies Used](#tools-and-technologies-used)
- [Features](#features)
- [Installation](#installation)
- [Prerequisites for production](#prerequisites-for-production)
- [Setup](#setup)
- [Development](#development)
- [Production](#production)
- [Usage](#usage)
- [Run the application](#run-the-application)
- [Development](#development-1)
- [Production](#production-1)
- [Run the tests](#run-the-tests)
- [Development](#development-2)
- [Production](#production-2)
- [Stop the application](#stop-the-application)
- [Development](#development-3)
- [Production](#production-3)
- [Diagrams](#diagrams)
- [Architecture Diagram](#architecture-diagram)
- [Entity Relationship Diagram](#entity-relationship-diagram)
## User Interfaces






## Tools and Technologies Used
- Ruby
- Rails
- Bundler
- Nginx
- Certbot
- Docker
- Docker Compose
- Hostinger
- Excalidraw
- Draw.io
- Heroicons
- TailwindCSS
- Make
## Features
- Convert a target URL into a short URL that can be publicly shared and accessed
- Provide a usage report for the application such as the number of clicks, originating geolocation and timestamp of each visit to a short URL
## Installation
### Prerequisites for production
Before starting, make sure you have the following installed:
- Docker
- Docker Compose v2
- Make
### Setup
Clone the repository
```bash
git clone https://github.com/ariessa/snipit.git
cd snipit
```
#### Development
Create file `.env` based on file `.env.example` and populate values accordingly
```bash
cp .env.example .env
```
#### Production
Create file `.env.prod` based on file `.env.example` and populate values accordingly
```bash
cp .env.example .env.prod
```
## Usage
### Run the application
#### Development
Create and migrate server
```bash
rails db:prepare
```
Start the server
```bash
bin/dev
```
#### Production
Build and run the containers
```bash
make up
```
Open your web browser and navigate to `https://localhost:3000`.
### Run the tests
#### Development
```bash
rails test
```
#### Production
```bash
make tests
```
### Stop the application
#### Development
Hit `Ctrl + C`
#### Production
```bash
make down
```
## Diagrams
### Architecture Diagram

### Entity Relationship Diagram