ZipLink is a powerful URL shortener service that allows you to generate short and unique URLs for long web addresses. With a user-friendly interface and seamless browsing experience, ZipLink makes sharing and managing URLs effortless.
ZipLink is a simple yet powerful URL shortener that aims to provide users with easy-to-share short links. This project demonstrates the integration of Vue.js for the frontend, Go for the backend, and MongoDB for the database. The frontend offers a user-friendly interface for shortening URLs, while the backend efficiently handles URL redirection and storage.
- URL Shortening: Generate short and unique codes for long URLs, making them more convenient and easier to share.
- Redirection: Redirect users from the shortened URLs to the original long URLs seamlessly.
- Frontend: Vue.js
- Backend: Go (Golang)
- Database: MongoDB
- Web Framework: Gin (for Go)
- HTTP Router: Gorilla Mux (for Go)
To get started with ZipLink, follow these steps:
- Clone the repository:
git clone https://github.com/leovaldez08/ZipLink.git cd ZipLink
- Install dependencies for the frontend:
cd frontend yarn
- Configure the backend:
Create a .env file in the root directory (or set environment variables) with the following settings:
PORT=8080 MONGODB_URI=mongodb://localhost:27017/ziplink
- Run the Frontend:
# From the root directory cd frontend yarn dev
- Run the Backend:
# From the root directory go run main.go Visit http://localhost:8080 in your web browser to access the ZipLink application.
To deploy ZipLink to a production environment, follow these general steps:
- Build the frontend for production:
# From the root directory cd frontend yarn build
- Build the backend for production:
# From the root directory go build -o ziplink
- Set up a MongoDB instance in your preferred cloud provider or on a server.
- Set the necessary environment variables for the backend in the production environment.
- Deploy the built backend and the frontend build to your production server or cloud platform.
Contributions are welcome! If you encounter any issues or have suggestions for improvements, please don't hesitate to submit bug reports or feature requests and pull requests through this GitHub repository.
We welcome contributions from anyone interested in helping to enhance this project. If you'd like to contribute, please follow these guidelines:
- Fork the repository to your own GitHub account.
- Clone the project to your local machine.
- Create a new branch with a descriptive name (e.g.,
my-new-feature
). - Make changes to the code and commit them to your branch.
- Push your changes to your fork (
git push origin my-new-feature
). - Open a pull request in this repository, describing the changes you've made.
Please make sure to follow the standard coding conventions and best practices.