KO'DJ - ya'ni Koreyadagi O'zbek Dasturchilar Jamiyati bo'lib KO'DJ web sahifasi orqali dev uchrashuvlar, uchrashuvlarni topish va ularga ro'yhatdan o'tish va uchrashuvlar bo'yicha sarhisoblarni yoritib boruvchi va KO'DJ jamiyatini ravnaqi yo'lida xizmat qiluvchi web safiha hisoblanadi.
- npm (v8 or higher)
- Node.js (v18 or higher)
# Clone the repository
git clone https://github.com/kodjdev/kodj_web_react
# Install dependencies
npm install
# Start development server
npm run dev
Open http://localhost:5173 to view the application in Vite's dev server.
- Events: Browse and register for developer meetups and events
- News: Stay updated with the latest community news
- Home: Community overview and highlights
- About: Information about KO'DJ community and its mission and purpose
- Speakers: Form to apply as a speaker for events
- Login/Authentication: Secure user authentication
- Atomic Design Principles: We follow
Brad Frost's methodology
for component hierarchy:- Atoms: Fundamental UI components like buttons, inputs, and labels that serve as the building blocks
- Molecules: Simple groups of UI elements functioning together (search forms, menu items)
- Organisms: Complex UI components composed of molecules and atoms that form distinct sections of the interface
- Templates: Page-level structures that arrange organisms into layouts
- Pages: Specific instances of templates with real content representing the final UI
Based on our project structure and requirements, we have implemented the Atomic Design Principles
to ensure a modular and scalable architecture but with a slightly different approach to make sure the project is easy to understand and maintain.
- Recoil: Atomic state management
- Axios: HTTP client
- i18next: Internationalization for language support
- react-i18next: React integration for i18next
- ESLint: Code linting
- Prettier: Code formatting
- TypeScript-ESLint: TypeScript-specific linting
kodj_web_react/
βββ cypress/ # End-to-end testing
βββ node_modules/
βββ src/ # Application source code
β βββ @types/ # i18n types
β βββ atoms/ # Recoil atoms
β βββ components/ # Atom, Molecule, and Organism components
β β βββ Button/
β β βββ Card/
β β βββ Error/ # Error handling components
β β βββ Event/
β β βββ Footer/
β β βββ ...
β βββ context/ # React contexts
β βββ i18n/ # i18n configuration
β βββ utils/ # Constants and utils functions
β βββ static/ # Static assets
β βββ hooks/ # Custom React hooks
β βββ i18n/ # Internationalization
β βββ pages/ # Application pages
β β βββ About/
β β βββ Events/
β β βββ Home/
β β βββ ...
β βββ tools/ # Predefined Colors and Styles
β βββ router/ # Routing configuration
βββ vite.config.ts # Vite configuration
# Build for production
npm run build
# Preview production build locally
npm run preview
# Lint code
npm run lint
# Format code
npm run format
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Lint code with ESLint
npm run format # Format code with Prettier
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/comment-feature
) - Commit your changes (
git commit -m 'feat: added real time commenting feature'
) - Push to the branch (
git push -u feature/comment-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.