A React-Django Full-Stack Application for shortening long URLs into manageable short links. This project demonstrates the integration of a modern front-end built with React and a robust back-end powered by Django Rest Framework.
- Shorten long URLs into compact links.
- User-friendly, modern UI with animations and responsive design.
- Redirection support for shortened URLs.
- Footer with app name, author details, and copyright notice.
- Contact page with social links and user details.
- React.js
- React Router DOM for navigation.
- Styled with CSS, animations, hover effects, and shadows for a polished look.
- Django 4.1
- Django Rest Framework for API handling.
- SQLite for the database (easily switchable to other databases).
- Node.js (for frontend)
- Python 3.10+ (for backend)
-
Navigate to the backend directory:
cd backend
-
Create a virtual environment:
python3 -m venv venv source venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Apply migrations:
python manage.py migrate
-
Run the server:
python manage.py runserver
-
Navigate to the frontend directory:
cd frontend
-
Install dependencies:
npm install
-
Run the React app:
npm start
-
Open the app in your browser:
- Backend: http://127.0.0.1:8000/
- Frontend: http://localhost:3000/
-
On the homepage, input a long URL and click "Shorten."
-
Copy the generated shortened link and use it.
URL-Shortener
backend
manage.py
Django's entry pointsettings.py
Backend configurationsurls.py
URL routingmodels.py
Database modelstemplates/
Backend templates
frontend
-
src/
App.js
Main React fileComponents/
Reusable components (Header, Footer, etc.)Styles/
CSS files for componentsPages/
App pages (Home, About, Contact)
-
public/
Static assets
README.md Project documentation
- User authentication to save and manage shortened URLs.
- QR code generation for each shortened URL.
- Analytics dashboard for tracking URL clicks.
- Improved error handling and logging.
Author: [KYRIAKOS ANTONIADIS]
GitHub: kuriakosant
Email: [email protected]
This project is open-source and available under the MIT License.