Configuration database with postgres

This commit is contained in:
Rayan Konecny 2026-04-27 19:19:33 -03:00
parent f2c57e5b3f
commit fd5711503b
9 changed files with 1237 additions and 17 deletions

View file

@ -1 +1,10 @@
DB_USER=postgres
DB_PASSWORD=postgres
DB_HOST=175.15.15.90
DB_PORT=5432
DB_NAME=toptran
DATABASE_URL="postgresql://postgres:postgres@175.15.15.90:5432/toptran"
PORT=4000 PORT=4000

5
backend/.gitignore vendored Normal file
View file

@ -0,0 +1,5 @@
node_modules
# Keep environment variables out of version control
.env
/src/generated/prisma

1153
backend/package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -16,10 +16,13 @@
"devDependencies": { "devDependencies": {
"@types/cors": "^2.8.19", "@types/cors": "^2.8.19",
"@types/express": "^5.0.6", "@types/express": "^5.0.6",
"@types/node": "^25.6.0",
"prisma": "^7.8.0",
"ts-node-dev": "^2.0.0", "ts-node-dev": "^2.0.0",
"tsx": "^4.21.0" "tsx": "^4.21.0"
}, },
"dependencies": { "dependencies": {
"@prisma/client": "^7.8.0",
"cors": "^2.8.6", "cors": "^2.8.6",
"express": "^5.2.1" "express": "^5.2.1"
} }

16
backend/prisma.config.ts Normal file
View file

@ -0,0 +1,16 @@
// This file was generated by Prisma, and assumes you have installed the following:
// npm install --save-dev prisma dotenv
import "dotenv/config";
import { defineConfig } from "prisma/config";
export default defineConfig({
schema: "prisma/schema.prisma",
migrations: {
path: "prisma/migrations",
},
datasource: {
url: process.env.DATABASE_URL!,
},
});

View file

@ -0,0 +1,32 @@
generator client {
provider = "prisma-client"
output = "../src/generated/prisma"
}
datasource db {
provider = "postgresql"
}
model tokens {
id String @id
token String @unique
type TokenType
userId String
expiresAt DateTime
createdAt DateTime @default(now())
users users @relation(fields: [userId], references: [id], onDelete: Cascade)
}
model users {
id String @id
name String
email String @unique
password String
createdAt DateTime @default(now())
updatedAt DateTime
tokens tokens[]
}
enum TokenType {
REFRESH
}

View file

@ -14,8 +14,6 @@ app.get('/api/data', (req, res) => {
res.json({ message: 'This is some data from the server!' }); res.json({ message: 'This is some data from the server!' });
}); });
app.listen(port, '0.0.0.0', () => { app.listen(port, '0.0.0.0', () => {
console.log(`Server is running on port ${port}`); console.log(`Server is running on port ${port}`);
}); });

View file

@ -1,16 +1,12 @@
{ {
"compilerOptions": { "compilerOptions": {
"module": "nodenext", "target": "ES2022",
"module": "NodeNext",
"moduleResolution": "NodeNext", "moduleResolution": "NodeNext",
"target": "es2024", "rootDir": "src",
"rootDir": "./src", "outDir": "dist",
"outDir": "./dist", "types": ["node"],
"sourceMap": true, "strict": true
"declaration": true, },
"declarationMap": true, "include": ["src"],
"strict": true,
"verbatimModuleSyntax": true,
"isolatedModules": true,
"skipLibCheck": true,
}
} }

View file

@ -0,0 +1,10 @@
{
"compilerOptions": {
"target": "ES2022",
"module": "NodeNext",
"moduleResolution": "NodeNext",
"types": ["node"],
"strict": true
},
"include": ["prisma.config.ts"]
}