https://github.com/thujuli/ngivent
Ngivent is an innovative web platform that connects ticket sellers with users who want to buy tickets for their favorite events. With a range of features supporting both sellers and users, Ngivent provides a complete solution for event ticket management and purchase.
https://github.com/thujuli/ngivent
express jest multer nextjs prisma react-hook-form recharts shadcn-ui sonner supertest tailwindcss tanstack-react-query tanstack-table zod
Last synced: 10 months ago
JSON representation
Ngivent is an innovative web platform that connects ticket sellers with users who want to buy tickets for their favorite events. With a range of features supporting both sellers and users, Ngivent provides a complete solution for event ticket management and purchase.
- Host: GitHub
- URL: https://github.com/thujuli/ngivent
- Owner: thujuli
- Created: 2024-04-24T08:18:22.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-21T09:25:27.000Z (over 1 year ago)
- Last Synced: 2025-02-01T19:23:26.490Z (12 months ago)
- Topics: express, jest, multer, nextjs, prisma, react-hook-form, recharts, shadcn-ui, sonner, supertest, tailwindcss, tanstack-react-query, tanstack-table, zod
- Language: TypeScript
- Homepage:
- Size: 19.9 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Purwadhika Final Project Repository
This project uses React.js with NextJS for the frontend, Express.js for the backend, and TurboRepo for monorepo management, facilitating rapid development of a scalable web application with streamlined collaboration and efficient server-client interactions.
## Available Scripts
### `npm run dev`
Runs the app in the development mode.
Open [http://localhost:5173](http://localhost:5173) to view it in the browser. For API, you can access it in [http://localhost:8000/api](http://localhost:8000/api). The app will reload if you make edits.
### `npm run build`
Builds the app for production to the `dist` folder for each project.
### `npm run serve`
Runs the app in the production mode.
### `npm run --workspace=`
Run command on specific app (install package, run test, etc).
### `npm run --workspace= -- --`
Run command on specific app with options.
Example : `npm run seqeulize --workspace=api -- --db:migrate`
# Rules
## Commit & Pull Request
- Always use [conventional commit message](https://www.conventionalcommits.org/en/v1.0.0/) when committing changes or creating pull request
- **"Squash and Merge"** your pull request to main branch
## Naming Convention
### REST API
- Always use [REST API naming convention](https://restfulapi.net/resource-naming/)
### File Naming Conventions:
1. **Use CamelCase for filenames:**
- Begin filenames with a lowercase letter.
- For multiple words, capitalize the first letter of each subsequent word.
- Example: `index.js`, `userModel.js`, `dataAccess.js`
2. **Use Descriptive Names:**
- Choose names that accurately describe the file's purpose or content.
- Avoid overly generic names like `utils.js` unless the file genuinely contains utility functions.
3. **Follow Naming Conventions for Specific File Types:**
- For configuration files, use names like `.env`, `config.js`, or `settings.json`.
- Use consistent naming for test files, such as appending `.test.js` or `.spec.js` to the filename being tested.
- Use `package.json` for the project's metadata and dependencies.
4. **Separate Concerns with File Naming:**
- Follow a modular structure for different concerns (e.g., `userController.js`, `userService.js`, `userModel.js` for a user-related module).
### Folder Naming Conventions:
1. **Use Singular or Plural Naming:**
- Choose a consistent convention for naming folders (e.g., `models` or `model`, `routes` or `route`).
2. **Avoid Special Characters and Spaces:**
- Use hyphens (`-`) or underscores (`_`) for separating words in folder names, but avoid spaces or special characters.
3. **Use Descriptive Names for Folders:**
- Name folders according to their content or purpose (e.g., `controllers`, `services`, `utils`, `tests`, `public`, `views`, etc.).
4. **Nested Folder Structure:**
- Create a logical and organized folder structure based on the project's architecture.
- For larger projects, consider organizing files by features/modules (Feature-Based Structure) or layer-based (Layered Structure).