Commit inicial
This commit is contained in:
		
						commit
						3d579f5e01
					
				
							
								
								
									
										24
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					# README
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Projeto
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Este é um projeto básico criado para demonstrar o uso de um README.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Estrutura
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- **Diretório:** `/Users/luizpicolo/Downloads/Tads5/`
 | 
				
			||||||
 | 
					- **Arquivo:** `README.md`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Como usar
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1. Clone o repositório.
 | 
				
			||||||
 | 
					2. Navegue até o diretório do projeto.
 | 
				
			||||||
 | 
					3. Leia este arquivo para entender a estrutura.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Contribuição
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou enviar pull requests.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Licença
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Este projeto está licenciado sob a [MIT License](LICENSE).
 | 
				
			||||||
							
								
								
									
										0
									
								
								client/.keep
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								client/.keep
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										1
									
								
								server/.env.example
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								server/.env.example
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					MONGODB_URI=
 | 
				
			||||||
							
								
								
									
										2
									
								
								server/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								server/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					.env
 | 
				
			||||||
 | 
					node_modules
 | 
				
			||||||
							
								
								
									
										40
									
								
								server/app.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								server/app.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,40 @@
 | 
				
			|||||||
 | 
					require("dotenv").config();
 | 
				
			||||||
 | 
					var createError = require('http-errors');
 | 
				
			||||||
 | 
					var express = require('express');
 | 
				
			||||||
 | 
					var path = require('path');
 | 
				
			||||||
 | 
					var cookieParser = require('cookie-parser');
 | 
				
			||||||
 | 
					var logger = require('morgan');
 | 
				
			||||||
 | 
					var connectDB = require('./config/db');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var indexRouter = require('./routes/index');
 | 
				
			||||||
 | 
					var usersRouter = require('./routes/users');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var app = express();
 | 
				
			||||||
 | 
					connectDB(); 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					app.use(logger('dev'));
 | 
				
			||||||
 | 
					app.use(express.json());
 | 
				
			||||||
 | 
					app.use(express.urlencoded({ extended: false }));
 | 
				
			||||||
 | 
					app.use(cookieParser());
 | 
				
			||||||
 | 
					app.use(express.static(path.join(__dirname, 'public')));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					app.use('/', indexRouter);
 | 
				
			||||||
 | 
					app.use('/users', usersRouter);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// catch 404 and forward to error handler
 | 
				
			||||||
 | 
					app.use(function(req, res, next) {
 | 
				
			||||||
 | 
					  next(createError(404));
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// error handler
 | 
				
			||||||
 | 
					app.use(function(err, req, res, next) {
 | 
				
			||||||
 | 
					  // set locals, only providing error in development
 | 
				
			||||||
 | 
					  res.locals.message = err.message;
 | 
				
			||||||
 | 
					  res.locals.error = req.app.get('env') === 'development' ? err : {};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // render the error page
 | 
				
			||||||
 | 
					  res.status(err.status || 500);
 | 
				
			||||||
 | 
					  res.render('error');
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					module.exports = app;
 | 
				
			||||||
							
								
								
									
										90
									
								
								server/bin/www
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								server/bin/www
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,90 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env node
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Module dependencies.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var app = require('../app');
 | 
				
			||||||
 | 
					var debug = require('debug')('server:server');
 | 
				
			||||||
 | 
					var http = require('http');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Get port from environment and store in Express.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var port = normalizePort(process.env.PORT || '3000');
 | 
				
			||||||
 | 
					app.set('port', port);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Create HTTP server.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var server = http.createServer(app);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Listen on provided port, on all network interfaces.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					server.listen(port);
 | 
				
			||||||
 | 
					server.on('error', onError);
 | 
				
			||||||
 | 
					server.on('listening', onListening);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Normalize a port into a number, string, or false.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function normalizePort(val) {
 | 
				
			||||||
 | 
					  var port = parseInt(val, 10);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (isNaN(port)) {
 | 
				
			||||||
 | 
					    // named pipe
 | 
				
			||||||
 | 
					    return val;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (port >= 0) {
 | 
				
			||||||
 | 
					    // port number
 | 
				
			||||||
 | 
					    return port;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  return false;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Event listener for HTTP server "error" event.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function onError(error) {
 | 
				
			||||||
 | 
					  if (error.syscall !== 'listen') {
 | 
				
			||||||
 | 
					    throw error;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  var bind = typeof port === 'string'
 | 
				
			||||||
 | 
					    ? 'Pipe ' + port
 | 
				
			||||||
 | 
					    : 'Port ' + port;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // handle specific listen errors with friendly messages
 | 
				
			||||||
 | 
					  switch (error.code) {
 | 
				
			||||||
 | 
					    case 'EACCES':
 | 
				
			||||||
 | 
					      console.error(bind + ' requires elevated privileges');
 | 
				
			||||||
 | 
					      process.exit(1);
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					    case 'EADDRINUSE':
 | 
				
			||||||
 | 
					      console.error(bind + ' is already in use');
 | 
				
			||||||
 | 
					      process.exit(1);
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					    default:
 | 
				
			||||||
 | 
					      throw error;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Event listener for HTTP server "listening" event.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function onListening() {
 | 
				
			||||||
 | 
					  var addr = server.address();
 | 
				
			||||||
 | 
					  var bind = typeof addr === 'string'
 | 
				
			||||||
 | 
					    ? 'pipe ' + addr
 | 
				
			||||||
 | 
					    : 'port ' + addr.port;
 | 
				
			||||||
 | 
					  debug('Listening on ' + bind);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										13
									
								
								server/config/db.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								server/config/db.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					const mongoose = require("mongoose");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const connectDB = async () => {
 | 
				
			||||||
 | 
					    try {
 | 
				
			||||||
 | 
					        await mongoose.connect(process.env.MONGODB_URI || 'mongodb://localhost:27017/meubanco');
 | 
				
			||||||
 | 
					        console.log("MongoDB conectado de forma maravilhosa :)");
 | 
				
			||||||
 | 
					    } catch (error) {
 | 
				
			||||||
 | 
					        console.error(error.message)
 | 
				
			||||||
 | 
					        process.exit(1);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					module.exports = connectDB;
 | 
				
			||||||
							
								
								
									
										11
									
								
								server/controllers/homeController.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								server/controllers/homeController.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					const User = require("../models/User");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const getHome = async function(req, res, next) {
 | 
				
			||||||
 | 
					    try {
 | 
				
			||||||
 | 
					        res.send("Aqui é a home")
 | 
				
			||||||
 | 
					    } catch (error) {
 | 
				
			||||||
 | 
					        res.status(500).send("Não foi encontrado usuários")
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					module.exports = { getHome }
 | 
				
			||||||
							
								
								
									
										24
									
								
								server/controllers/usersController.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								server/controllers/usersController.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					const User = require("../models/User");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const listUsers = async (req, res) => {
 | 
				
			||||||
 | 
					    try {
 | 
				
			||||||
 | 
					        const users = await User.find();
 | 
				
			||||||
 | 
					        res.json(users)    
 | 
				
			||||||
 | 
					    } catch (error) {
 | 
				
			||||||
 | 
					        res.status(500).send("Erro ao carregar usuários");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const createtUser = async (req, res) => {
 | 
				
			||||||
 | 
					    try {
 | 
				
			||||||
 | 
					        const user = new User(req.body);
 | 
				
			||||||
 | 
					        const newUser = await user.save();
 | 
				
			||||||
 | 
					        res.json(newUser);
 | 
				
			||||||
 | 
					    } catch (error) {
 | 
				
			||||||
 | 
					        res.status(500).send("Erro ao salvar usuários");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					module.exports = { listUsers, createtUser }
 | 
				
			||||||
							
								
								
									
										19
									
								
								server/models/User.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								server/models/User.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					const mongoose = require("mongoose");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const UserSchema = new mongoose.Schema({
 | 
				
			||||||
 | 
					    name: {
 | 
				
			||||||
 | 
					        type: String,
 | 
				
			||||||
 | 
					        required: true
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    email: {
 | 
				
			||||||
 | 
					        type: String,
 | 
				
			||||||
 | 
					        required: true,
 | 
				
			||||||
 | 
					        unique: true
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    createdAt: {
 | 
				
			||||||
 | 
					        type: Date,
 | 
				
			||||||
 | 
					        default: Date.now
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					module.exports = mongoose.model("User", UserSchema);
 | 
				
			||||||
							
								
								
									
										1287
									
								
								server/package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										1287
									
								
								server/package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										17
									
								
								server/package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								server/package.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,17 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "name": "server",
 | 
				
			||||||
 | 
					  "version": "0.0.0",
 | 
				
			||||||
 | 
					  "private": true,
 | 
				
			||||||
 | 
					  "scripts": {
 | 
				
			||||||
 | 
					    "start": "node --watch ./bin/www"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "dependencies": {
 | 
				
			||||||
 | 
					    "cookie-parser": "~1.4.4",
 | 
				
			||||||
 | 
					    "debug": "~2.6.9",
 | 
				
			||||||
 | 
					    "dotenv": "^16.5.0",
 | 
				
			||||||
 | 
					    "express": "^4.21.2",
 | 
				
			||||||
 | 
					    "http-errors": "~1.6.3",
 | 
				
			||||||
 | 
					    "mongoose": "^8.14.1",
 | 
				
			||||||
 | 
					    "morgan": "~1.9.1"
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										8
									
								
								server/public/stylesheets/style.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								server/public/stylesheets/style.css
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					body {
 | 
				
			||||||
 | 
					  padding: 50px;
 | 
				
			||||||
 | 
					  font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					a {
 | 
				
			||||||
 | 
					  color: #00B7FF;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										8
									
								
								server/routes/index.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								server/routes/index.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					var express = require('express');
 | 
				
			||||||
 | 
					var router = express.Router();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const { getHome } = require("../controllers/homeController") 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					router.get('/', getHome);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					module.exports = router;
 | 
				
			||||||
							
								
								
									
										14
									
								
								server/routes/users.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								server/routes/users.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,14 @@
 | 
				
			|||||||
 | 
					var express = require('express');
 | 
				
			||||||
 | 
					var router = express.Router();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const { listUsers, createtUser } = require("../controllers/usersController") 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// POST (Criar algo)
 | 
				
			||||||
 | 
					// GET (Retornar algo)
 | 
				
			||||||
 | 
					// DELETE (Deletar algo)
 | 
				
			||||||
 | 
					// UPDATE (Atualizar)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					router.get('/', listUsers);
 | 
				
			||||||
 | 
					router.post('/', createtUser);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					module.exports = router;
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user