101 lines
2.4 KiB
TypeScript
Executable File
101 lines
2.4 KiB
TypeScript
Executable File
// ini adalah file utama dari aplikasi ini
|
|
import express, { type Request, type Response } from 'express';
|
|
|
|
import http from 'http';
|
|
|
|
import * as socket from './socket';
|
|
const socket_client = socket.clientSocket;
|
|
|
|
|
|
// import formData from 'express-form-data';
|
|
import fileUpload from 'express-fileupload';
|
|
import {testDatabaseConnection} from './connection';
|
|
import path from 'path';
|
|
import adminRouter from './routes/admin_router';
|
|
import userRouter from './routes/user_router';
|
|
import kurirRouter from './routes/kurir_router';
|
|
|
|
|
|
// this is for dotenv
|
|
import { config } from 'dotenv';
|
|
config();
|
|
console.log("diatas untuk dotenv");
|
|
|
|
|
|
|
|
|
|
const app = express();
|
|
const port = process.env.PORT || 3011;
|
|
const server = http.createServer(app);
|
|
const io = socket.init(server);
|
|
|
|
|
|
|
|
// Serve static files from the 'assets' directory
|
|
app.use(express.static(path.join(__dirname, 'assets')));
|
|
|
|
// Middleware for express-form-data
|
|
// app.use(formData.parse());
|
|
|
|
app.use(fileUpload({
|
|
createParentPath: true, // Creates the parent directory if it doesn't exist
|
|
}));
|
|
app.use(express.json());
|
|
app.use(express.urlencoded({ extended: true }));
|
|
|
|
|
|
|
|
|
|
testDatabaseConnection();
|
|
|
|
// create an admin route
|
|
app.use('/admin', adminRouter);
|
|
app.use('/kurir', kurirRouter);
|
|
app.use('/', userRouter);
|
|
|
|
io.on('connection', (socket) => {
|
|
const userID = socket.id;
|
|
// console.log('A user connected: ' + userID);
|
|
|
|
socket.on('scan_dia', (data: any) => {
|
|
console.log('Received scan_dia event: ' + data);
|
|
io.emit('scan_dia_lagi', "coba");
|
|
// socket.broadcast.emit('scan_dia_lagi', "coba");
|
|
// // cobadulu();
|
|
// io.emit('scan_dia_lagi', 'ini coba');
|
|
});
|
|
|
|
socket.on('scan_dia_lagi', (data: any) => {
|
|
console.log('Received scan_dia_lagi event: ' + data);
|
|
});
|
|
|
|
socket.on('disconnect', () => {
|
|
// console.log('User disconnected: ' + userID);
|
|
});
|
|
});
|
|
|
|
|
|
// function cobadulu(){
|
|
// console.log("coba");
|
|
// socket_client.emit('scan_dia_lagi', 'ini coba');
|
|
// }
|
|
|
|
|
|
|
|
// app.post('/submit', (req: Request, res: Response) => {
|
|
// console.log('Received form data:', req.body);
|
|
// res.json({ message: 'Form data received!', data: req.body });
|
|
// });
|
|
|
|
|
|
|
|
|
|
// app.listen(port, async () => {
|
|
// console.log(`Server is running on port ${port}`);
|
|
// });
|
|
server.listen(port, () => {
|
|
console.log(`Server running on port ${port}`);
|
|
});
|
|
|
|
export default { app, server, io };
|