Skip to content

Commit b1c8b1a

Browse files
authored
Merge pull request #2 from jashgopani/feature/url-shortner-react-client
Feature/url shortner react client
2 parents 5fa4f8b + c15ce52 commit b1c8b1a

File tree

21 files changed

+4821
-3
lines changed

21 files changed

+4821
-3
lines changed

.prettierrc.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"arrowParens": "always",
3+
"jsxSingleQuote": true,
4+
"printWidth": 100,
5+
"proseWrap": "always",
6+
"bracketSameLine": true,
7+
"useTabs": false,
8+
"tabWidth": 2
9+
}

Backend/src/main/java/com/jashgopani/urlshortner/config/WebConfig.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public WebMvcConfigurer corsConfigurer() {
1313
return new WebMvcConfigurer() {
1414
@Override
1515
public void addCorsMappings(CorsRegistry registry) {
16-
registry.addMapping("**")
16+
registry.addMapping("/**")
1717
.allowedOriginPatterns("*")
1818
.allowedMethods("*")
1919
.allowedHeaders("*")

Backend/src/main/java/com/jashgopani/urlshortner/slug/controller/SlugController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public String index() {
3737
}
3838

3939
@PostMapping("/")
40-
public ResponseEntity<?> shortenURL(@RequestParam String url) {
40+
public ResponseEntity<?> shortenURL(@RequestParam("url") String url) {
4141
try {
4242
Slug slug = slugService.generateSlug(url);
4343
return ResponseEntity.status(HttpStatus.CREATED).body(slug);
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
spring.application.name=urlshortner
22
logging.level.org.springframework.web=DEBUG
3-
slug.length=10
3+
slug.length=11

Frontend/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# React + Vite
2+
3+
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
4+
5+
Currently, two official plugins are available:
6+
7+
- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
8+
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh

Frontend/eslint.config.js

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import js from '@eslint/js'
2+
import globals from 'globals'
3+
import react from 'eslint-plugin-react'
4+
import reactHooks from 'eslint-plugin-react-hooks'
5+
import reactRefresh from 'eslint-plugin-react-refresh'
6+
7+
export default [
8+
{ ignores: ['dist'] },
9+
{
10+
files: ['**/*.{js,jsx}'],
11+
languageOptions: {
12+
ecmaVersion: 2020,
13+
globals: globals.browser,
14+
parserOptions: {
15+
ecmaVersion: 'latest',
16+
ecmaFeatures: { jsx: true },
17+
sourceType: 'module',
18+
},
19+
},
20+
settings: { react: { version: '18.3' } },
21+
plugins: {
22+
react,
23+
'react-hooks': reactHooks,
24+
'react-refresh': reactRefresh,
25+
},
26+
rules: {
27+
...js.configs.recommended.rules,
28+
...react.configs.recommended.rules,
29+
...react.configs['jsx-runtime'].rules,
30+
...reactHooks.configs.recommended.rules,
31+
'react/jsx-no-target-blank': 'off',
32+
'react-refresh/only-export-components': [
33+
'warn',
34+
{ allowConstantExport: true },
35+
],
36+
},
37+
},
38+
]

Frontend/index.html

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<link
6+
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
7+
rel="stylesheet"
8+
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC"
9+
crossorigin="anonymous" />
10+
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
11+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
12+
<title>URL Shortner</title>
13+
</head>
14+
<body>
15+
<div id="root"></div>
16+
<script
17+
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"
18+
integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM"
19+
crossorigin="anonymous"></script>
20+
<script type="module" src="/src/main.jsx"></script>
21+
</body>
22+
</html>

0 commit comments

Comments
 (0)