A Node.js/Express backend for the Monday-style dashboard application.
- User authentication with JWT
- Task management
- File uploads
- Database migrations
- RESTful API endpoints
- Railway account (free)
- GitHub repository with this code
- Go to Railway: https://railway.app
- Sign in with GitHub
- Click "New Project"
- Select "Deploy from GitHub repo"
- Choose repository:
monday-dashboard-backend - Railway will auto-detect Node.js configuration
Set these in Railway dashboard:
NODE_ENV=production
JWT_SECRET=your_super_secret_jwt_key_2024
PORT=10000
- Add MySQL Plugin in Railway
- Connect to your service
- Set database environment variables:
DB_HOST=your_mysql_host DB_USER=your_mysql_user DB_PASSWORD=your_mysql_password DB_NAME=your_database_name DB_PORT=3306
After deployment, run migrations to create tables:
npm run migrate-
Install dependencies:
npm install
-
Set environment variables:
cp .env.example .env # Edit .env with your database credentials -
Run migrations:
npm run migrate
-
Start development server:
npm run dev
GET /api/health- Health checkPOST /api/auth/register- User registrationPOST /api/auth/login- User loginGET /api/users- Get usersPOST /api/upload- File upload- And more...
The application uses 14 tables:
- users
- workplaces
- tasks
- task_files
- task_updates
- update_comments
- update_likes
- update_reactions
- favorites
- session_history
- user_preferences
- working_status
- activity_logs
- section_order