Hey Folks, Welcome to Minify URL!
Minif URL mainly aims to generate a short url for any long url that is difficult to remember. This project offers free shorturl service to everyone over the internet.
Requires Node.js to run the application.
-
Fork the repository.
-
Clone your repository.
git clone https://github.com/<YOUR-USERNAME>/minify-url.git
-
Move to cloned folder.
cd minify-url
-
Change directory to frontend, install
dependencies
anddevDependencies
.cd frontend npm install
-
Configure environment variables for frontend.
VITE_BACKEND_URL=
-
Run frontend development server.
npm run dev
-
Change directory to backend, install
dependencies
anddevDependencies
.cd backend npm install
-
Configure environment variables for backend.
PORT= FRONTEND_URL= MONGODB_URL= DB_NAME=
-
Run backend development server.
npm start
├── backend
│ ├── babel.config.cjs
│ ├── package.json
│ ├── package-lock.json
│ ├── src
│ │ ├── app.js
│ │ ├── controllers
│ │ │ ├── contact.controller.js
│ │ │ └── url.controller.js
│ │ ├── index.js
│ │ ├── middlewares
│ │ ├── models
│ │ │ ├── ContactMessage.model.js
│ │ │ └── Url.model.js
│ │ ├── routes
│ │ │ ├── contact.route.js
│ │ │ ├── index.route.js
│ │ │ └── url.route.js
│ │ └── utils
│ │ ├── cleanedEnv.js
│ │ ├── helpers.js
│ │ └── zodSchemas.js
│ └── tests
│ └── index.test.js
├── frontend
│ ├── eslint.config.js
│ ├── index.html
│ ├── package.json
│ ├── package-lock.json
│ ├── postcss.config.js
│ ├── public
│ │ └── favicon.ico
│ ├── README.md
│ ├── src
│ │ ├── api
│ │ │ └── index.js
│ │ ├── App.jsx
│ │ ├── components
│ │ │ ├── Feedback.jsx
│ │ │ ├── Footer.jsx
│ │ │ ├── Navbar.jsx
│ │ │ └── TypingAnimation.jsx
│ │ ├── index.css
│ │ ├── main.jsx
│ │ ├── pages
│ │ │ ├── About.jsx
│ │ │ ├── Contact.jsx
│ │ │ ├── Home.jsx
│ │ │ ├── index.js
│ │ │ ├── MinifyUrl.jsx
│ │ │ └── RedirectToLongURL.jsx
│ │ └── utils
│ │ ├── asyncHandler.js
│ │ ├── cleanedEnv.js
│ │ └── zodSchemas.js
│ ├── tailwind.config.js
│ └── vite.config.js
└── Readme.md
- Check for the future works in the below section.
- Setup the project locally from installation guide.
- Play with it and run tests.
- Create a issue and attach a pull request.
- We will verify and merge your pull request.
- Tests are written for the backend using
jest
. - If any changes made to the backend, run tests before attaching a pull request.
npm test
- Create custom slugs for short urls.
- Implement register and login mechanism.
- Create dashboard for click tracking and managing all your short urls.