Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
5282266
setup(server): initialize project
andikarahmadisaputra Apr 30, 2025
397af30
setup(client): initialize project
andikarahmadisaputra Apr 30, 2025
c92d6ac
feat(model): add sequelize model to server side
andikarahmadisaputra May 2, 2025
43c57e6
feat(migration): add sequelize migration to server side
andikarahmadisaputra May 2, 2025
ffec6b6
feat(seeder): add data.json and sequelize seeder to server side
andikarahmadisaputra May 2, 2025
1afb260
feat(controller): add contoller to server side
andikarahmadisaputra May 2, 2025
552bc6e
feat(helpers): add bcrypt, jwt, cloudinary and gemini helpers to server
andikarahmadisaputra May 2, 2025
7032615
feat(server): add entry point to server
andikarahmadisaputra May 2, 2025
f54c8d4
feat(route): add route for user, admin, and seller to server
andikarahmadisaputra May 2, 2025
47c4ece
feat(middleware): add authentication, authorization, and error handle…
andikarahmadisaputra May 2, 2025
fc5b599
feat(validation): add validation for request body to server
andikarahmadisaputra May 2, 2025
649ac6a
chore: add example environtment variable to server
andikarahmadisaputra May 2, 2025
498b256
docs(api): add API documentation to server
andikarahmadisaputra May 2, 2025
58454d0
feat(test): add some test case for server
andikarahmadisaputra May 2, 2025
baa6aa8
chore: update dependency for server
andikarahmadisaputra May 2, 2025
644c535
chore: update dependency for client
andikarahmadisaputra May 2, 2025
f9bf247
chore: update git ignore
andikarahmadisaputra May 2, 2025
5be129f
chore: add example environtment variable for client
andikarahmadisaputra May 2, 2025
a9c4ba4
chore: update eslint
andikarahmadisaputra May 2, 2025
1082120
feat(css): update css for client
andikarahmadisaputra May 2, 2025
1ec3eb5
chore: add bootstrap cdn and google OAuth
andikarahmadisaputra May 2, 2025
bc2df9b
feat(router): add react router fot client
andikarahmadisaputra May 2, 2025
34383ac
feat(components): add reusable components for client
andikarahmadisaputra May 2, 2025
2a546d2
feat(state management): add redux for state management to client
andikarahmadisaputra May 2, 2025
d786a59
chore: add feature product slice and category slice for redux
andikarahmadisaputra May 2, 2025
3d35f48
feat(login): add login page
andikarahmadisaputra May 2, 2025
06fa9a1
feat(register): add register page
andikarahmadisaputra May 2, 2025
6699c89
feat(homepage): add homepage
andikarahmadisaputra May 2, 2025
df9a64f
feat(Detail Product): add detail product page
andikarahmadisaputra May 2, 2025
dbfba95
feat(AI): add chat with AI
andikarahmadisaputra May 2, 2025
b1ee793
feat(seller): add product management page for seller
andikarahmadisaputra May 2, 2025
6077d44
feat(shipping): add create shipping address for buyer
andikarahmadisaputra May 2, 2025
be36ebb
chore: update database url
andikarahmadisaputra May 2, 2025
ccb2438
fix: update function to use error handling
andikarahmadisaputra May 9, 2025
cb99343
feat: add route create and update category
andikarahmadisaputra May 9, 2025
f82fec4
chore: add --coverage test command
andikarahmadisaputra May 9, 2025
e3308c4
chore: update gitignore
andikarahmadisaputra May 9, 2025
05fddc3
feat(test): add category test case
andikarahmadisaputra May 9, 2025
e7e064d
chore: update category slice and redux
andikarahmadisaputra May 9, 2025
9471cd4
chore: add jwt decode to decode access token into roles
andikarahmadisaputra May 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions client/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
VITE_API_BASE_URL=
VITE_API_LOCATION=
VITE_GOOGLE_CLIENT_ID=
VITE_GOOGLE_CLIENT_SECRET=
28 changes: 28 additions & 0 deletions client/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
.env
.firebase
.firebaserc
firebase.json
12 changes: 12 additions & 0 deletions client/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# React + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) for Fast Refresh
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh

## Expanding the ESLint configuration

If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) for information on how to integrate TypeScript and [`typescript-eslint`](https://typescript-eslint.io) in your project.
33 changes: 33 additions & 0 deletions client/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import js from "@eslint/js";
import globals from "globals";
import reactHooks from "eslint-plugin-react-hooks";
import reactRefresh from "eslint-plugin-react-refresh";

export default [
{ ignores: ["dist"] },
{
files: ["**/*.{js,jsx}"],
languageOptions: {
ecmaVersion: 2020,
globals: globals.browser,
parserOptions: {
ecmaVersion: "latest",
ecmaFeatures: { jsx: true },
sourceType: "module",
},
},
plugins: {
"react-hooks": reactHooks,
"react-refresh": reactRefresh,
},
rules: {
...js.configs.recommended.rules,
...reactHooks.configs.recommended.rules,
"no-unused-vars": ["error", { varsIgnorePattern: "^[A-Z_]" }],
"react-refresh/only-export-components": [
"warn",
{ allowConstantExport: true },
],
},
},
];
27 changes: 27 additions & 0 deletions client/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Palugada</title>
<script
crossorigin="anonymous"
src="//unpkg.com/react-scan/dist/auto.global.js"
></script>
<script src="https://accounts.google.com/gsi/client" async></script>
<link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css"
rel="stylesheet"
/>
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css"
/>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.jsx"></script>
</body>
</html>
Loading