62 lines
1.9 KiB
JavaScript
62 lines
1.9 KiB
JavaScript
// Load environment-specific config
|
|
const env = process.env.NODE_ENV || "dev";
|
|
const envFile = `.env.${env}`;
|
|
|
|
require("dotenv").config({
|
|
path: envFile,
|
|
});
|
|
const express = require("express");
|
|
const cors = require("cors");
|
|
const bodyParser = require("body-parser");
|
|
const path = require("path");
|
|
const { sequelize } = require("./models"); // Import from models/index.js to ensure associations are loaded
|
|
|
|
const authRoutes = require("./routes/auth");
|
|
const phoneAuthRoutes = require("./routes/phone-auth");
|
|
const userRoutes = require("./routes/users");
|
|
const itemRoutes = require("./routes/items");
|
|
const rentalRoutes = require("./routes/rentals");
|
|
const messageRoutes = require("./routes/messages");
|
|
const betaRoutes = require("./routes/beta");
|
|
const itemRequestRoutes = require("./routes/itemRequests");
|
|
const stripeRoutes = require("./routes/stripe");
|
|
|
|
const app = express();
|
|
|
|
app.use(cors());
|
|
app.use(bodyParser.json({ limit: "5mb" }));
|
|
app.use(bodyParser.urlencoded({ extended: true, limit: "5mb" }));
|
|
|
|
// Serve static files from uploads directory
|
|
app.use("/uploads", express.static(path.join(__dirname, "uploads")));
|
|
|
|
// Beta verification route (doesn't require auth)
|
|
app.use("/api/beta", betaRoutes);
|
|
|
|
app.use("/api/auth", authRoutes);
|
|
app.use("/api/auth/phone", phoneAuthRoutes);
|
|
app.use("/api/users", userRoutes);
|
|
app.use("/api/items", itemRoutes);
|
|
app.use("/api/rentals", rentalRoutes);
|
|
app.use("/api/messages", messageRoutes);
|
|
app.use("/api/item-requests", itemRequestRoutes);
|
|
app.use("/api/stripe", stripeRoutes);
|
|
|
|
app.get("/", (req, res) => {
|
|
res.json({ message: "CommunityRentals.App API is running!" });
|
|
});
|
|
|
|
const PORT = process.env.PORT || 5000;
|
|
|
|
sequelize
|
|
.sync({ alter: true })
|
|
.then(() => {
|
|
console.log("Database synced");
|
|
app.listen(PORT, () => {
|
|
console.log(`Server is running on port ${PORT}`);
|
|
});
|
|
})
|
|
.catch((err) => {
|
|
console.error("Unable to sync database:", err);
|
|
});
|