Student Attendance Management System
|
|
3 ヶ月 前 | |
|---|---|---|
| drizzle | 4 ヶ月 前 | |
| public | 4 ヶ月 前 | |
| src | 3 ヶ月 前 | |
| .env.example | 4 ヶ月 前 | |
| .gitignore | 4 ヶ月 前 | |
| README.md | 3 ヶ月 前 | |
| components.json | 4 ヶ月 前 | |
| drizzle.config.ts | 4 ヶ月 前 | |
| eslint.config.mjs | 4 ヶ月 前 | |
| next.config.ts | 4 ヶ月 前 | |
| package-lock.json | 3 ヶ月 前 | |
| package.json | 3 ヶ月 前 | |
| postcss.config.mjs | 4 ヶ月 前 | |
| tsconfig.json | 4 ヶ月 前 |
Este es un proyecto de Next.js para gestión de asistencia estudiantil, construido con TypeScript, Drizzle ORM, NextAuth.js y PostgreSQL.
Antes de comenzar, asegúrate de tener instalado:
git clone <url-del-repositorio>
cd nimi
npm install
Copia el archivo de ejemplo y configura las variables:
cp .env.example .env
Edita el archivo .env con tus configuraciones:
# Database
DATABASE_URL="postgresql://usuario:contraseña@localhost:5432/nimi_db"
# NextAuth
NEXTAUTH_URL="http://localhost:3000"
NEXTAUTH_SECRET="tu-clave-secreta-aqui"
# App
NEXT_PUBLIC_APP_NAME="Sistema de Gestión de Asistencia"
Importante:
usuario, contraseña y nimi_db con tus credenciales reales de PostgreSQLNEXTAUTH_SECRET (puedes usar: openssl rand -base64 32)Conéctate a PostgreSQL y crea la base de datos:
CREATE DATABASE nimi_db;
# Generar archivos de migración
npm run db:generate
# Ejecutar migraciones en la base de datos
npm run db:migrate
Si existe un archivo de seed:
npm run db:seed
Si este comando falla, intenta instalar tsx con:
npm install tsx
npm run dev
# o
yarn dev
Abre http://localhost:3000 en tu navegador para ver la aplicación.
npm run dev - Inicia el servidor de desarrollonpm run build - Construye la aplicación para producciónnpm run start - Inicia el servidor de producciónnpm run lint - Ejecuta el linternpm run db:generate - Genera archivos de migración de Drizzlenpm run db:migrate - Ejecuta las migraciones en la base de datosnpm run db:studio - Abre Drizzle Studio para administrar la base de datosnpm run db:seed - Pobla la base de datos con datos de pruebasrc/
├── app/ # App Router de Next.js
│ ├── admin/ # Rutas de administrador
│ ├── api/ # API Routes
│ ├── auth/ # Páginas de autenticación
│ ├── student/ # Rutas de estudiante
│ └── teacher/ # Rutas de profesor
├── components/ # Componentes React reutilizables
├── lib/ # Utilidades y configuraciones
│ ├── auth.ts # Configuración de NextAuth
│ └── db/ # Configuración de base de datos
└── types/ # Definiciones de tipos TypeScript
Para una interfaz visual de la base de datos:
npm run db:studio
Esto abrirá Drizzle Studio en tu navegador para administrar los datos.
Cuando hagas cambios al esquema en src/lib/db/schema.ts:
npm run db:generatedrizzle/npm run db:migrate.env.local sean correctasnimi_db existaNEXTAUTH_SECRET esté configuradoNEXTAUTH_URL coincida con tu URL local# Limpia node_modules y reinstala
rm -rf node_modules package-lock.json
npm install
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE para más detalles.