A modern URL shortener web application built with Remix, featuring a clean UI, real-time analytics, and seamless user experience.
- Clean, modern UI built with ShadCN/UI components
- Real-time URL shortening and management
- User authentication and URL management
- URL analytics and click tracking
- QR code generation for shortened URLs
- Light/dark theme support
- Mobile-responsive design
- Remix Run - Full-stack web framework
- React - UI library
- TailwindCSS - Utility-first CSS
- ShadcnUI - Component library
- TanStack Table - Data tables
- TypeScript - Type safety
- Clone the repository:
git clone https://github.com/RajNykDhulapkar/gotiny-app.git
cd gotiny-app
- Install dependencies:
pnpm install
- Configure environment variables:
NODE_ENV=development
SESSION_SECRET=your-secret
SHORT_URL_SERVICE_URL=http://localhost:8080
- Start development server:
pnpm run dev
.
├── app/
│ ├── components/ # Reusable UI components
│ ├── lib/ # Utilities and helpers
│ ├── routes/ # Application routes
│ ├── sessions/ # Session management
│ └── tailwind.css # Global styles
├── public/ # Static assets
└── components.json # ShadcnUI configuration
- Quick URL shortening with custom slug option
- QR code generation for shortened URLs
- Link history and management
- Click tracking and analytics
- Geographic distribution
- Browser and device statistics
- Referrer tracking
- User authentication
- Personal dashboard
- URL management
- Analytics exports
Build the image:
docker build -t gotiny-app .
Run the container:
docker run -d \
-p 3000:3000 \
-e NODE_ENV=production \
-e SESSION_SECRET=your-secret \
-e SHORT_URL_SERVICE_URL=http://api:8080 \
gotiny-app
# Start development server
pnpm run dev
# Type checking
pnpm run typecheck
# Build for production
pnpm run build
# Start production server
pnpm start
This project uses Tailwind CSS with ShadcnUI components. The theme can be customized in:
tailwind.config.ts
- Tailwind configurationapp/tailwind.css
- Global stylescomponents.json
- ShadcnUI theme configuration
- Fork the repository
- Create your feature branch
- Install dependencies (
pnpm install
) - Make your changes
- Run tests and type checking
- Submit a pull request
MIT License