Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
10 changes: 10 additions & 0 deletions crm-suite/.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Environment variables declared in this file are automatically made available to Prisma.
# See the documentation for more detail: https://pris.ly/d/prisma-schema#accessing-environment-variables-from-the-schema

# Prisma supports the native connection string format for PostgreSQL, MySQL, SQLite, SQL Server, MongoDB and CockroachDB.
# See the documentation for all the connection string options: https://pris.ly/d/connection-strings

DATABASE_URL="postgresql://postgres:postgres@localhost:5432/crm_suite?schema=public"
JWT_SECRET="change_this_secret"
NEXTAUTH_SECRET="unused"
APP_URL="http://localhost:3000"
3 changes: 3 additions & 0 deletions crm-suite/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"extends": ["next/core-web-vitals", "next/typescript"]
}
38 changes: 38 additions & 0 deletions crm-suite/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js
.yarn/install-state.gz

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# local env files
.env*.local

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts

/src/generated/prisma
21 changes: 21 additions & 0 deletions crm-suite/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
FROM node:20-alpine AS deps
WORKDIR /app
COPY package.json package-lock.json* ./
RUN npm ci --legacy-peer-deps

FROM node:20-alpine AS builder
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
RUN npx prisma generate
RUN npm run build

FROM node:20-alpine AS runner
WORKDIR /app
ENV NODE_ENV=production
COPY --from=builder /app/.next ./.next
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/package.json ./package.json
COPY --from=builder /app/public ./public
EXPOSE 3000
CMD ["npm","start"]
35 changes: 35 additions & 0 deletions crm-suite/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
راه‌اندازی پروژه Next.js
معرفی پروژه
این یک پروژه Next.js است که با ابزار create-next-app راه‌اندازی شده است.
شروع به کار
اجرای سرور توسعه
ابتدا سرور توسعه را با دستور زیر اجرا کنید:
npm run dev
# یا
yarn dev
# یا
pnpm dev
# یا
bun dev

سپس در مرورگر خود به آدرس http://localhost:3000 مراجعه کنید تا نتیجه را مشاهده نمایید.
ویرایش صفحات
می‌توانید صفحه اصلی را با ویرایش فایل app/page.tsx تغییر دهید. صفحه به صورت خودکار پس از هر تغییر به‌روزرسانی می‌شود.
بهینه‌سازی فونت
این پروژه از next/font برای بهینه‌سازی و بارگذاری خودکار فونت Geist (فونت جدید و اختصاصی Vercel) استفاده می‌کند.
منابع آموزشی Next.js
برای یادگیری بیشتر درباره Next.js، می‌توانید از منابع زیر استفاده کنید:

مستندات Next.js - آموزش ویژگی‌ها و APIهای Next.js
آموزش تعاملی Next.js - دوره آموزشی عملی Next.js

همچنین می‌توانید به مخزن GitHub Next.js مراجعه کنید - نظرات و مشارکت‌های شما مورد استقبال است!
استقرار روی Vercel
ساده‌ترین روش برای استقرار برنامه Next.js شما، استفاده از پلتفرم Vercel است که توسط سازندگان Next.js ارائه شده است.
برای اطلاعات بیشتر می‌توانید مستندات استقرار Next.js را مطالعه کنید.
نکات فنی

این پروژه از معماری App Router جدید Next.js استفاده می‌کند
پشتیبانی از آخرین ویژگی‌های React Server Components
بهینه‌سازی خودکار برای تولید و توسعه
پیکربندی پیشرفته برای مدیریت فونت‌ها و منابع استاتیک
24 changes: 24 additions & 0 deletions crm-suite/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
version: "3.9"
services:
postgres:
image: postgres:16-alpine
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: crm_suite
ports:
- "5432:5432"
volumes:
- db_data:/var/lib/postgresql/data
web:
build: .
environment:
DATABASE_URL: postgresql://postgres:postgres@postgres:5432/crm_suite?schema=public
JWT_SECRET: change_this_secret
APP_URL: http://localhost:3000
ports:
- "3000:3000"
depends_on:
- postgres
volumes:
db_data:
4 changes: 4 additions & 0 deletions crm-suite/next.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/** @type {import('next').NextConfig} */
const nextConfig = {};

export default nextConfig;
Loading
Loading