Compare commits
	
		
			2 Commits
		
	
	
		
			f5df0442ed
			...
			0327b36031
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 0327b36031 | |||
| 2c5e138e9a | 
							
								
								
									
										60
									
								
								index.js
									
									
									
									
									
								
							
							
						
						
									
										60
									
								
								index.js
									
									
									
									
									
								
							@ -1,18 +1,56 @@
 | 
			
		||||
const express = require('express')
 | 
			
		||||
const app = express()
 | 
			
		||||
const cors = require('cors')
 | 
			
		||||
require('dotenv').config()
 | 
			
		||||
const express = require("express");
 | 
			
		||||
const app = express();
 | 
			
		||||
const cors = require("cors");
 | 
			
		||||
const mongoose = require("mongoose");
 | 
			
		||||
require("dotenv").config();
 | 
			
		||||
 | 
			
		||||
app.use(cors())
 | 
			
		||||
app.use(express.static('public'))
 | 
			
		||||
app.get('/', (req, res) => {
 | 
			
		||||
  res.sendFile(__dirname + '/views/index.html')
 | 
			
		||||
const PORT = process.env.PORT || 16749;
 | 
			
		||||
const MONGODB_URI = process.env.MONGODB_URI || "";
 | 
			
		||||
 | 
			
		||||
mongoose.connect(MONGODB_URI, {
 | 
			
		||||
  // @ts-ignore
 | 
			
		||||
  useNewUrlParser: true,
 | 
			
		||||
  useUnifiedTopology: true,
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
const exerciseLogsSchema = new mongoose.Schema({
 | 
			
		||||
  username: { type: String, required: true },
 | 
			
		||||
  log: [
 | 
			
		||||
    {
 | 
			
		||||
      description: { type: String, required: true },
 | 
			
		||||
      duration: { type: Number, required: true },
 | 
			
		||||
      date: { type: String, required: true },
 | 
			
		||||
    },
 | 
			
		||||
  ],
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
const exerciseLogs = mongoose.model("ExerciseLogs", exerciseLogsSchema);
 | 
			
		||||
 | 
			
		||||
app.use(cors());
 | 
			
		||||
app.use(express.static("public"));
 | 
			
		||||
app.use(express.urlencoded({ extended: false }));
 | 
			
		||||
app.get("/", (req, res) => {
 | 
			
		||||
  res.sendFile(__dirname + "/views/index.html");
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
app.post("/api/users", (req, res) => {
 | 
			
		||||
  const username = req.body.username;
 | 
			
		||||
  const exerciseLogsModel = new exerciseLogs({ username: username });
 | 
			
		||||
  exerciseLogsModel
 | 
			
		||||
    .save()
 | 
			
		||||
    .then((user) => {
 | 
			
		||||
      if (user) return res.json({ username: user.username, _id: user._id });
 | 
			
		||||
      res.status(500);
 | 
			
		||||
      res.json({ error: `Error creating user: ${username}` });
 | 
			
		||||
    })
 | 
			
		||||
    .catch((err) => {
 | 
			
		||||
      res.status(500);
 | 
			
		||||
      return res.json({
 | 
			
		||||
        error: `Error type 2 while creating user: ${username}`,
 | 
			
		||||
      });
 | 
			
		||||
    });
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
const listener = app.listen(process.env.PORT || 3000, () => {
 | 
			
		||||
  console.log('Your app is listening on port ' + listener.address().port)
 | 
			
		||||
})
 | 
			
		||||
const listener = app.listen(PORT, () => {
 | 
			
		||||
  console.log("Your app is listening on port " + listener.address().port);
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										1112
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1112
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -1,5 +1,5 @@
 | 
			
		||||
{
 | 
			
		||||
	"name": "fcc-exercise-tracker",
 | 
			
		||||
  "name": "@radii-fcc-backend/fcc-exercise-tracker",
 | 
			
		||||
  "version": "0.1.0",
 | 
			
		||||
  "description": "A REST API project, part of Free Code Camp's curriculum",
 | 
			
		||||
  "main": "index.js",
 | 
			
		||||
@ -7,14 +7,15 @@
 | 
			
		||||
    "start": "node index.js"
 | 
			
		||||
  },
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "cors": "^2.8.5",
 | 
			
		||||
    "dotenv": "^8.2.0",
 | 
			
		||||
    "express": "^4.16.4",
 | 
			
		||||
		"cors": "^2.8.5"
 | 
			
		||||
    "mongoose": "^7.0.3"
 | 
			
		||||
  },
 | 
			
		||||
  "repository": {
 | 
			
		||||
    "url": "https://github.com/freeCodeCamp/boilerplate-project-exercisetracker"
 | 
			
		||||
  },
 | 
			
		||||
	"license": "MIT",
 | 
			
		||||
  "license": "AGPL-3.0-or-later",
 | 
			
		||||
  "keywords": [
 | 
			
		||||
    "node",
 | 
			
		||||
    "express"
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user