Mahorat Soft - bu professional web development va branding xizmatlarini ko'rsatadigan Next.js asosidagi veb-sayt.
- Framework: Next.js 16.0.3
- Language: TypeScript
- Database: PostgreSQL (Neon Database)
- ORM: Drizzle ORM
- Styling: Tailwind CSS 4
- UI Components: Radix UI
- Authentication: JWT (Access & Refresh Tokens)
- File Storage: Vercel Blob Storage
- Image Upload: Cloudinary
- Form Handling: React Hook Form + Zod
- Repositoryni clone qiling:
git clone <repository-url>
cd mahorat-soft-main- Dependencieslarni o'rnating:
npm install- Environment variableslarni sozlang.
.env.localfaylini yarating va quyidagi o'zgaruvchilarni to'ldiring:
# Database Configuration
DATABASE_URL=postgresql://user:password@host:port/database
# JWT Secrets
ACCESS_TOKEN_SECRET=your-access-token-secret-here
REFRESH_TOKEN_SECRET=your-refresh-token-secret-here
# Cloudinary Configuration
NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=your-cloud-name
CLOUDINARY_API_KEY=your-api-key
CLOUDINARY_API_SECRET=your-api-secret
# Telegram Bot Configuration (for contact form)
NEXT_PUBLIC_TELEGRAM_BOT_API=your-telegram-bot-token
NEXT_PUBLIC_TELEGRAM_CHAT_ID=your-telegram-chat-id
# Vercel Blob Storage
BLOB_READ_WRITE_TOKEN=your-vercel-blob-token- Database migrationlarni ishga tushiring:
npx drizzle-kit push- Development serverni ishga tushiring:
npm run dev- Brauzerda oching: http://localhost:3000
npm run dev- Development serverini ishga tushirishnpm run build- Production build yaratishnpm run start- Production serverni ishga tushirishnpm run lint- ESLint bilan kodni tekshirish
src/
├── actions/ # Server actions (auth, projects, files)
├── app/ # Next.js App Router
│ ├── (root)/ # Public pages
│ └── admin/ # Admin panel
├── components/ # React components
│ ├── sections/ # Page sections
│ ├── shared/ # Shared components
│ └── ui/ # UI components
├── drizzle/ # Database schemas va connection
├── hooks/ # Custom React hooks
├── lib/ # Utility functions
└── types/ # TypeScript types
- ✅ Responsive design
- ✅ Admin panel (authentication bilan)
- ✅ Project management (CRUD operations)
- ✅ Image upload (Vercel Blob)
- ✅ Contact form (Telegram bot orqali)
- ✅ JWT authentication
- ✅ Protected routes
Admin panelga kirish uchun:
/admin/register- yangi foydalanuvchi ro'yxatdan o'tkazish- Database'da foydalanuvchi ro'lini
adminga o'zgartirish /admin/login- tizimga kirish
Loyihani Vercel'ga deploy qilish:
- GitHub repositoryga push qiling
- Vercel'da yangi project yarating
- Environment variableslarni sozlang
- Deploy qiling
Mahorat Soft Team
Private project