.mvn/wrapper | ||
logs | ||
src | ||
test-output | ||
.gitignore | ||
create.sql | ||
image.png | ||
mvnw | ||
mvnw.cmd | ||
pom.xml | ||
README.md | ||
shortener_db_schema.sql | ||
testng.xml |
Enterprise-Grade URL Shortener and Bio Page Application
A powerful and scalable URL shortener with integrated bio pages built using Spring Boot.
Table of Contents
Overview
This project is an enterprise-grade URL shortener and bio page application developed with Spring Boot. It provides a robust solution for shortening URLs and creating bio pages for users. The application is designed for scalability and includes features such as analytics, user management, and subscription plans.
Features
- Shorten URLs and create custom short URLs
- Integrated bio pages for users
- Analytics tracking for each shortened URL
- User management with registration, login, and profile updates
- Subscription plans for premium features
- Rate limiting to prevent abuse
- Forgot password and username recovery functionality
- ...
Getting Started
Prerequisites
Before you begin, ensure you have the following installed:
- Java (JDK 11 or later)
- Maven
- MySQL
- Your favorite IDE (IntelliJ, Eclipse, etc.)
Local Setup
-
Clone the repository:
git clone https://github.com/yourusername/your-repo.git
-
Create a MySQL database:
CREATE DATABASE url_shortener_db;
-
Update the application.properties file:
Update the application.properties file in the src/main/resources directory with your database configuration.
-
Build and run the application:
Ccd your-repo mvn spring-boot:run
-
Access the application at http://localhost:8080
Deployment
-
Build a deployable JAR:
mvn clean install
-
Deploy the JAR:
Deploy the generated JAR file to your cloud provider of choice (AWS, GCP, Azure, etc.).
3.Configure environment variables:
Set environment variables for cloud-specific settings.
-
Start the application on the cloud server:
java -jar your-repo.jar
Usage
- Shorten URLs by visiting the URL Shortener page.
- Access analytics for each shortened URL.
- Create and manage bio pages in the Bio section.
Contributing
Contributions are welcome! Please follow the contribution guidelines.
License
This project is licensed under the MIT License - see the LICENSE.md file for details.