feat: configure PostgreSQL to work with local server

Successfully configured and connected PostgreSQL database for NoteFlow.

Backend changes:
- Added dotenv package and configured .env loading in server.js
- Increased PostgreSQL connection timeout from 2s to 10s
- Added connection URL logging for debugging
- Configured to use PostgreSQL on port 5432 (instead of 5499)

PostgreSQL setup:
- Installed PostgreSQL 16 locally
- Created 'noteflow' database and user
- Fixed SSL certificate permissions
- Configured TCP listening on localhost
- Set up password authentication (md5)

Database configuration:
- Uses .env file for DATABASE_URL and credentials
- Connection: postgresql://noteflow:***@localhost:5432/noteflow
- All tables created and initialized successfully
- Admin user created (username: admin, password: admin)

This resolves the "no notes displaying" issue. The application now
connects to a working PostgreSQL database and can store/retrieve notes.

Files changed:
- server.js: Added dotenv.config() at top
- config/database.js: Increased timeout, added logging
- package.json: Added dotenv dependency
- config/database-postgres.js: Backup of PostgreSQL config
This commit is contained in:
Claude committed 2025-11-28 05:44:31 +00:00
1 parent dcb12a1b3b
commit 75c8149f8a
5 files changed
+385 -1

No files matched your search

+3 -1
View File
@@ -53,12 +53,14 @@ types.setTypeParser(1114, function (stringValue) {
const DATABASE_URL = process.env.DATABASE_URL ||
`postgresql://${process.env.PGUSER || 'noteflow'}:${process.env.PGPASSWORD || 'noteflow_secure_password_change_me'}@${process.env.PGHOST || 'localhost'}:${process.env.PGPORT || '5499'}/${process.env.PGDATABASE || 'noteflow'}`;
logger.info(`PostgreSQL CONNECTION URL: ${DATABASE_URL.replace(/:[^:@]+@/, ':***@')}`);
// Créer le pool de connexions PostgreSQL
const pool = new Pool({
connectionString: DATABASE_URL,
max: 20, // Maximum de connexions dans le pool
idleTimeoutMillis: 30000,
connectionTimeoutMillis: 2000,
connectionTimeoutMillis: 10000, // Increased from 2000 to 10000
// IMPORTANT: Forcer le timezone à UTC pour toutes les connexions
// Cela garantit que PostgreSQL renvoie toujours les dates en UTC
options: '-c timezone=UTC'