Welcome to UNIURL, a URL sharing platform that allows users to share all of their URLs with a single URL. With UNIURL, users can conveniently organize and manage their links, accessible through a unique username-based URL.
UNIURL offers a range of features to streamline URL sharing and management:
- Single URL Sharing: Share all your URLs using a single, customizable UNIURL link (e.g.,
www.uniurl.com/username
). - Easy Organization: Organize and manage your links effortlessly with UNIURL's intuitive interface.
- Theming Options: Customize the appearance of your UNIURL profile with various theming options.
- Image Storage: Store images associated with your URLs securely on AWS S3 for reliability and scalability.
- Cache Management: Utilize Redis for caching to optimize performance and enhance user experience.
- Responsive Design: Enjoy a seamless browsing experience across devices, thanks to the use of Tailwind CSS.
UNIURL leverages modern technologies to provide a robust and efficient platform:
- Frontend: Built with React and styled with Tailwind CSS for a responsive and visually appealing user interface.
- Backend: Powered by Node.js and Express.js, with MongoDB and Mongoose for database management.
- Image Storage: AWS S3 for secure storage of images associated with URLs.
- Cache Management: Redis for caching to optimize performance.
- Theming: Theming options available for users to customize their UNIURL profile.
To get started with UNIURL, follow these simple steps:
- Clone the repository:
git clone https://github.com/iamsuryasonar/urlshare-react.git
- Navigate to the project directory:
cd urlshare-react
- Install dependencies:
cd frontend
npm install
//and
cd backend
npm install
- Set up environment variables: Create a .env file in the root directory of backend with the following variables:
DB_CONNECT = mongodb+srv://username:[email protected]/?retryWrites=true&w=majority
TOKEN_SECRET = secret
AWS_ACCESS_KEY_ID="id"
AWS_ACCESS_KEY_SECRET="secret"
AWS_BUCKET_NAME="bucket name"
REGION_NAME="us-east-1"
PORT=3005
REDIS_HOST="redis host"
REDIS_PORT="port"
REDIS_USER="default"
REDIS_PASSWORD="password"
- Start the development server:
npm run dev // backend
npm start // frontend
The frontend should now be running on http://localhost:3000 and backend on port 3005