Skip to content

Commit b326cdb

Browse files
committed
Add initial client setup with routing, authentication context, and basic layout components
1 parent 0e51264 commit b326cdb

29 files changed

Lines changed: 5565 additions & 0 deletions

planventure-client/.gitignore

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
lerna-debug.log*
8+
9+
node_modules
10+
dist
11+
dist-ssr
12+
*.local
13+
14+
# Editor directories and files
15+
.vscode/*
16+
!.vscode/extensions.json
17+
.idea
18+
.DS_Store
19+
*.suo
20+
*.ntvs*
21+
*.njsproj
22+
*.sln
23+
*.sw?

planventure-client/README.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Planventure Client
2+
3+
This is the frontend client application for PlanVenture, built with React and Vite.
4+
5+
## Overview
6+
7+
PlanVenture client is a modern web application that provides an interactive interface for planning and managing travel adventures.
8+
9+
## Getting Started
10+
11+
### Prerequisites
12+
13+
- Node.js (v18 or higher)
14+
- npm v8 or higher
15+
16+
### Installation
17+
18+
1. Fork and Clone the repository
19+
2. Navigate to the client directory:
20+
```bash
21+
cd planventure-client
22+
```
23+
3. Install dependencies:
24+
```bash
25+
npm install
26+
```
27+
4. Start the development server:
28+
```bash
29+
npm run dev
30+
```
31+
32+
## Available Scripts
33+
34+
- `npm run dev` - Runs the app in development mode with Vite
35+
- `npm run build` - Builds the app for production
36+
- `npm run preview` - Preview the production build locally
37+
- `npm run lint` - Lint the codebase using ESLint
38+
39+
## Technologies Used
40+
41+
- React 18
42+
- Vite
43+
- React Router DOM
44+
- Material UI (MUI)
45+
- Emotion for styling
46+
- ESLint for code quality
47+
48+
## License
49+
50+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
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+
]

planventure-client/index.html

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<meta name="description" content="Planventure is a web app that helps you plan your next adventure with ease" />
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7+
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
8+
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
9+
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
10+
<link rel="manifest" href="/site.webmanifest">
11+
<title>Planventure</title>
12+
</head>
13+
<body>
14+
<div id="root"></div>
15+
<script type="module" src="/src/main.jsx"></script>
16+
</body>
17+
</html>

0 commit comments

Comments
 (0)