Welcome!
25 | 26 | 27 |We are URL shortener service that provide you to create short links from very long URLs. Our short links are only seven characters long, which makes them easier to type, present, or tweet.
29 |├── backend
├── logs
│ ├── debug.log
│ ├── main.log
│ ├── add_url.log
│ ├── db_error.log
│ └── url_stats.log
├── chi_url
│ ├── __init__.py
│ ├── cache_backend
│ │ └── __init__.py
│ ├── config.py
│ ├── errors.py
│ ├── delete_url.py
│ ├── main.py
│ ├── db.py
│ ├── url_routing.py
│ ├── url_stats.py
│ ├── users.py
│ ├── add_url.py
│ ├── email_verification.py
│ ├── session_token.py
│ └── email_template.py
├── .gitignore
├── .dockerignore
├── Dockerfile
└── requirements.txt
├── cassandra
├── .dockerignore
├── entrypoint.sh
├── node1
│ └── cassandra
│ │ ├── triggers
│ │ └── README.txt
│ │ ├── cassandra-jaas.config
│ │ ├── README.txt
│ │ ├── jvm8-clients.options
│ │ ├── jvm-clients.options
│ │ ├── logback-tools.xml
│ │ ├── jvm11-clients.options
│ │ ├── cassandra-topology.properties
│ │ ├── metrics-reporter-config-sample.yaml
│ │ ├── cassandra-rackdc.properties
│ │ ├── commitlog_archiving.properties
│ │ ├── jvm8-server.options
│ │ ├── hotspot_compiler
│ │ ├── jvm11-server.options
│ │ ├── logback.xml
│ │ ├── cassandra.yaml
│ │ ├── cqlshrc.sample
│ │ ├── jvm-server.options
│ │ └── cassandra-env.sh
└── init_keyspace.cql
├── recreate-backend.sh
├── static
├── icon.png
└── architecture.png
├── frontend
├── public
│ ├── robots.txt
│ ├── favicon.ico
│ ├── manifest.json
│ └── index.html
├── src
│ ├── Mycomponents
│ │ └── pages
│ │ │ ├── components
│ │ │ ├── footer.css
│ │ │ ├── footer.js
│ │ │ └── nav.js
│ │ │ ├── Homepages
│ │ │ ├── home.css
│ │ │ ├── errorPage.js
│ │ │ ├── main.js
│ │ │ ├── home.js
│ │ │ └── page.js
│ │ │ ├── userpages
│ │ │ ├── userpage.css
│ │ │ └── userpage.js
│ │ │ └── signuppages
│ │ │ ├── verifymail.js
│ │ │ ├── login.js
│ │ │ └── signup.js
│ ├── index.js
│ ├── index.css
│ ├── proxysetup.js
│ └── App.js
├── Dockerfile
├── .gitignore
├── package.json
└── .dockerignore
├── recreate-frontend.sh
├── local
├── .env
├── requirements.txt
├── local_nginx
│ └── nginx.conf
└── docker-compose.yaml
├── .github
└── workflows
│ ├── greetings.yml
│ └── codeql-analysis.yml
├── setup.sh
├── LICENSE
├── nginx
└── nginx.conf
├── Readme.MD
├── docker-compose.yaml
└── init-letsencrypt.sh
/backend/logs/debug.log:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/backend/logs/main.log:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/backend/chi_url/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/backend/logs/add_url.log:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/backend/logs/db_error.log:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/backend/logs/url_stats.log:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cassandra/.dockerignore:
--------------------------------------------------------------------------------
1 | node1
2 | node2
3 | node3
4 | .dockerignore
5 | Dockerfile
--------------------------------------------------------------------------------
/recreate-backend.sh:
--------------------------------------------------------------------------------
1 | sudo docker-compose up --build --force-recreate backend nginx
--------------------------------------------------------------------------------
/static/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Cosmicoppai/chi_url/HEAD/static/icon.png
--------------------------------------------------------------------------------
/backend/.gitignore:
--------------------------------------------------------------------------------
1 | ../.idea
2 | chi_url/.env
3 | env
4 | chi_url/__pycache__
5 | chi_url/test.py
6 |
--------------------------------------------------------------------------------
/backend/chi_url/cache_backend/__init__.py:
--------------------------------------------------------------------------------
1 | import redis
2 |
3 | cache = redis.Redis(host='redis')
4 |
--------------------------------------------------------------------------------
/cassandra/entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | cqlsh -f init_keyspace.cql -u cassandra -p cassandra
--------------------------------------------------------------------------------
/static/architecture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Cosmicoppai/chi_url/HEAD/static/architecture.png
--------------------------------------------------------------------------------
/frontend/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/cassandra/node1/cassandra/triggers/README.txt:
--------------------------------------------------------------------------------
1 | Place triggers to be loaded in this directory, as jar files.
2 |
--------------------------------------------------------------------------------
/frontend/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Cosmicoppai/chi_url/HEAD/frontend/public/favicon.ico
--------------------------------------------------------------------------------
/frontend/src/Mycomponents/pages/components/footer.css:
--------------------------------------------------------------------------------
1 | .cont{
2 | background-color: "#212529";
3 | margin-top:"-100px";
4 |
5 | }
--------------------------------------------------------------------------------
/recreate-frontend.sh:
--------------------------------------------------------------------------------
1 | sudo docker-compose stop
2 |
3 | sudo docker volume rm chi_url_react_build
4 |
5 | sudo docker-compose up --build --force-recreate frontend nginx
--------------------------------------------------------------------------------
/backend/.dockerignore:
--------------------------------------------------------------------------------
1 | .github
2 | tests
3 | env
4 | .gitignore
5 | .dockerignore
6 | .env
7 | .idea
8 | chi_url/.env
9 | chi_url/__pycache__
10 | chi_url/test.py
11 | Readme.MD
--------------------------------------------------------------------------------
/cassandra/node1/cassandra/cassandra-jaas.config:
--------------------------------------------------------------------------------
1 | // Delegates authentication to Cassandra's configured IAuthenticator
2 | CassandraLogin {
3 | org.apache.cassandra.auth.CassandraLoginModule REQUIRED;
4 | };
5 |
--------------------------------------------------------------------------------
/frontend/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM node:16.8.0-slim
2 |
3 | WORKDIR /frontend
4 |
5 | COPY package.json ./
6 |
7 | RUN npm config set registry https://registry.npmjs.com/
8 |
9 | RUN npm install
10 |
11 | COPY . ./
12 |
13 | RUN npm run build
--------------------------------------------------------------------------------
/local/.env:
--------------------------------------------------------------------------------
1 | DB_USERNAME=cassandra
2 | DB_PASSWORD=cassandra
3 | KEYSPACE=chi_url
4 | SECRET_KEY=secret-key
5 | ALGORITHM=HS256
6 |
7 | EMAIL=email-id
8 | EMAIL_PASSWORD=password
9 |
10 | ORIGIN=http://frontend:3000
11 | ORIGIN2=http://localhost
12 | HOST=http://localhost
--------------------------------------------------------------------------------
/frontend/src/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.css';
4 | import App from './App';
5 | import "bootstrap/dist/css/bootstrap.min.css";
6 | import "bootstrap/dist/js/bootstrap.js";
7 | ReactDOM.render(
7 | We are URL shortener service that provide you to create short links from very long URLs. Our short links are only seven characters long, which makes them easier to type, present, or tweet.
29 |Please click on the send button to recieve the 60 | verification link on your registered email id.
61 | 63 |Free URL Shortener with many features that gives you better quality. Shortened URLs will never expire.
17 |Once you Signup with us it is easy and fast, enter the long link to get your shortened link.
27 |We provide services where you can check the amount of clicks that your shortened url received
36 |Compatible with all devices such as desktop, tablets and phones
45 |All links that try to disseminate spam, viruses and malware are deleted
54 |Our services are fast and secure, our service have HTTPS protocol and data encryption
63 |
162 |
|
203 |
| Long Url | 223 |Shortened Url | 224 |Number of clicks | 225 |
|---|---|---|
| {data.url} | 231 |{data.short_url} | 232 |{data.resolves} | 233 |
| {data.url} | 239 |{data.short_url} | 240 |{data.resolves} | 241 |
| Long Url | 262 |Shortened Url | 263 |Number of clicks | 264 |
|---|---|---|
| {data.url} | 270 |{data.short_url} | 271 |{data.resolves} | 272 |
| {data.url} | 278 |{data.short_url} | 279 |{data.resolves} | 280 |