Skip to content
Open
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions backend/app.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,14 @@ import teamsRouter from "./judging-algorithm/routes/teams-routes.js"
import cabinsRouter from "./cabin-sorting/routes/sortedHackers-routes.js"

const app = express();
const PORT = process.env.PORT || 4000;

app.use(express.json());

app.use(
cors({
origin: 'http://localhost:4000',
// problem lies here
origin: [`http://localhost:${PORT}`, 'http://localhost:3000'],
credentials: true
})
);
Expand All @@ -24,7 +26,6 @@ app.use('/', roomsRouter);
app.use('/', rotationTimesRouter);
app.use('/', teamsRouter);

const PORT = process.env.PORT || 4000;

app.listen(PORT, () => {
console.log(`Server is running in http://localhost:${PORT}`);
Expand Down
52 changes: 41 additions & 11 deletions backend/cabin-sorting/controllers/sortedHackers-controller.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,47 @@
import sortedHackersService from "../service/sortedHackers-service.js";
import express, { Response, Request } from 'express';


const getSortedHackers = async (_req: any, res: any) => {
const sortedHackers = await sortedHackersService.getSortedHackers();
res.json(sortedHackers)
return sortedHackers;
const getSortedHackers = async (_req: Request, res: Response) => {
try {
const sortedHackers = await sortedHackersService.getSortedHackers();
if (sortedHackers === null || Object.values(sortedHackers).length === 0) {
throw new Error("Sorted hackers were null/empty...")
}
res.json(sortedHackers)
return sortedHackers;
} catch (err) {
res.status(404).json({message: "Failed to get sorted hackers.", err})
}
return;
};

const createSortedHacker = async (req: any, res: any) => {
const hackerInformation = req.body;
const createResponse = await sortedHackersService.createSortedHacker(hackerInformation)
res.json(createResponse)
return createResponse;
const createSortedHacker = async (req: Request, res: Response) => {
try {
const hackerInformation = req.body;
const createResponse = await sortedHackersService.createSortedHacker(hackerInformation)
if (createResponse === null || Object.values(createResponse).length === 0) {
throw new Error("Sorted hackers were null/empty...")
}
res.json(createResponse)
return createResponse;
} catch (err) {
res.status(404).json({message: "Failed to create sorted hackers.", err})
}
return;
};

export default {getSortedHackers, createSortedHacker};
const groupHackersByCabin = async (_req: Request, res: Response) => {
try {
const groupedHackers = await sortedHackersService.groupHackersByCabin()
if (groupedHackers === null || Object.values(groupedHackers).length === 0) {
throw new Error("Grouped hackers were null/empty...")
}
res.json(groupedHackers)
return groupedHackers
} catch (err) {
res.status(404).json({message: "Failed to group hackers by cabin.", err})
}
return;
}

export default {getSortedHackers, createSortedHacker, groupHackersByCabin };
129 changes: 128 additions & 1 deletion backend/cabin-sorting/data/json_outputs/sortedHackers.json
Original file line number Diff line number Diff line change
@@ -1 +1,128 @@
[{"question0":"answer1","question1":"answer1","question2":"answer1","question3":"answer1","question4":"answer1","question5":"answer1","question6":"answer1","question7":"answer1","question8":"answer1","question9":"answer1","question10":"answer1","question11":"answer1","id":"64accf3dd36486421bc50e53","email":"test","assignedCabin":"cabin1","secondAssignedCabin":" cabin2"},{"question0":"answer2","question1":"answer2","question2":"answer2","question3":"answer2","question4":"answer2","question5":"answer2","question6":"answer2","question7":"answer2","question8":"answer2","question9":"answer2","question10":"answer2","question11":"answer2","id":"64accf66d36486421bc50e55","email":"test2","assignedCabin":" cabin2","secondAssignedCabin":"cabin1"},{"question0":"answer3","question1":"answer3","question2":"answer3","question3":"answer3","question4":"answer3","question5":"answer3","question6":"answer3","question7":"answer3","question8":"answer3","question9":"answer3","question10":"answer3","question11":"answer3","id":"64accf7fd36486421bc50e57","email":"test3","assignedCabin":" cabin3","secondAssignedCabin":"cabin1"},{"question0":"answer4","question1":"answer4","question2":"answer4","question3":"answer4","question4":"answer4","question5":"answer4","question6":"answer4","question7":"answer4","question8":"answer4","question9":"answer4","question10":"answer4","question11":"answer4","id":"64accf8ed36486421bc50e59","email":"test4","assignedCabin":" cabin4","secondAssignedCabin":"cabin1"}]
[
{
"id": "64accf3dd36486421bc50e53",
"email": "test",
"question0": "answer1",
"question1": "answer1",
"question2": "answer1",
"question3": "answer1",
"question4": "answer1",
"question5": "answer1",
"question6": "answer1",
"question7": "answer1",
"question8": "answer1",
"question9": "answer1",
"question10": "answer1",
"question11": "answer1",
"assignedCabin": "cabin1",
"secondAssignedCabin": "cabin2"
},
{
"id": "64accf66d36486421bc50e55",
"email": "test2",
"question0": "answer2",
"question1": "answer2",
"question2": "answer2",
"question3": "answer2",
"question4": "answer2",
"question5": "answer2",
"question6": "answer2",
"question7": "answer2",
"question8": "answer2",
"question9": "answer2",
"question10": "answer2",
"question11": "answer2",
"assignedCabin": "cabin2",
"secondAssignedCabin": "cabin1"
},
{
"id": "64accf7fd36486421bc50e57",
"email": "test3",
"question0": "answer3",
"question1": "answer3",
"question2": "answer3",
"question3": "answer3",
"question4": "answer3",
"question5": "answer3",
"question6": "answer3",
"question7": "answer3",
"question8": "answer3",
"question9": "answer3",
"question10": "answer3",
"question11": "answer3",
"assignedCabin": "cabin3",
"secondAssignedCabin": "cabin1"
},
{
"id": "64accf8ed36486421bc50e59",
"email": "test4",
"question0": "answer4",
"question1": "answer4",
"question2": "answer4",
"question3": "answer4",
"question4": "answer4",
"question5": "answer4",
"question6": "answer4",
"question7": "answer4",
"question8": "answer4",
"question9": "answer4",
"question10": "answer4",
"question11": "answer4",
"assignedCabin": "cabin4",
"secondAssignedCabin": "cabin1"
},
{
"id": "64ae0242cdcfed39b8b59958",
"email": "test4",
"question0": "answer4",
"question1": "answer4",
"question2": "answer4",
"question3": "answer4",
"question4": "answer4",
"question5": "answer4",
"question6": "answer4",
"question7": "answer4",
"question8": "answer4",
"question9": "answer4",
"question10": "answer4",
"question11": "answer4",
"assignedCabin": "cabin4",
"secondAssignedCabin": "cabin1"
},
{
"id": "64ae024dcdcfed39b8b5995a",
"email": "test4",
"question0": "answer4",
"question1": "answer4",
"question2": "answer4",
"question3": "answer4",
"question4": "answer4",
"question5": "answer4",
"question6": "answer4",
"question7": "answer4",
"question8": "answer4",
"question9": "answer4",
"question10": "answer4",
"question11": "answer4",
"assignedCabin": "cabin4",
"secondAssignedCabin": "cabin1"
},
{
"id": "64b0a5b67c6e7f3511e8509e",
"email": "test4",
"question0": "answer4",
"question1": "answer4",
"question2": "answer4",
"question3": "answer4",
"question4": "answer4",
"question5": "answer4",
"question6": "answer4",
"question7": "answer4",
"question8": "answer4",
"question9": "answer4",
"question10": "answer4",
"question11": "answer4",
"assignedCabin": "cabin4",
"secondAssignedCabin": "cabin1"
}
]
2 changes: 2 additions & 0 deletions backend/cabin-sorting/routes/sortedHackers-routes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,6 @@ const router = express.Router();
router.get('/sortedHackers', controller.getSortedHackers);
router.post('/sortedHackers', controller.createSortedHacker);

router.get('/groupedHackers', controller.groupHackersByCabin);

export default router;
1 change: 1 addition & 0 deletions backend/cabin-sorting/schemas/sortedHackers-schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ export const sortedHackersSchema = new mongoose.Schema(
versionKey: false
},
);

export default sortedHackersSchema;


Loading