Giter Club home page Giter Club logo

mateusfg7 / ecoleta Goto Github PK

View Code? Open in Web Editor NEW
12.0 4.0 4.0 405 KB

:recycle: Ecoleta é uma aplicação que ajuda a encontrar pontos de coleta de lixo reciclável no Brasil. A base da aplicação foi desenvolvida durante a Next Level Week #1 da @Rocketseat, entre os dias 1 a 5 de Junho.

License: MIT License

HTML 29.96% CSS 35.35% JavaScript 12.52% TypeScript 22.17%
nodejs typescript nunjucks sqlite3 ibge-api html5 css3 responsive nlw ecoleta

ecoleta's Introduction

Ecoleta

Ecoleta é uma aplicação que ajuda a encontrar pontos de coleta de lixo reciclável no Brasil.

Página principal

Home

Página de pesquisa de Pontos de Coleta em uma determinada cidade

Página de pesquisa

Página de cadastro de Ponto de Coleta

Página de cadastro

Aplicação feita na Next Level Week #1 da @Rocketseat, nos dias 1 a 5 de Junho nlw

Tecnologias

Front-end:

Back-end:

APIs

Uso

Instalar dependencias:

com npm
$ npm install
com yarn
$ yarn install

Iniciar servidor:

com npm
$ npm start
com yarn
$ yarn run start

porta: 3000

Para trocar a porta basta ir em src/server.js:97, e trocar o porta 3000 para a porta desejada.

// turn on the server
server.listen(3000);

Criar Bando de Dados

Para criar o banco de dados descomente as linhas 9 a 79, depois as linhas 11 a 26 do arquivo src/database/db.js

// use the object of the database, for our operations
db.serialize(() => {
    // create a table with SQL commands:
    // the firs param of data is the type of same
    // PRIMARY KEY -> main data
    // AUTOINCRMENT -> autoincrement when add a new register
    db.run(`
            CREATE TABLE IF NOT EXISTS places (
                id INTEGER PRIMARY KEY AUTOINCREMENT,
                image TEXT,
                name TEXT,
                address TEXT,
                address2 TEXT,
                state TEXT,
                city TEXT,
                items TEXT
            );
    `);

    // // insert data into the table with SQL commands
    // const query = `
    //     INSERT INTO places (
    //         image,
    //         name,
    //         address,
    //         address2,
    //         state,
    //         city,
    //         items
    //     ) VALUES (?,?,?,?,?,?,?);
    // `
    // const values = [
    //     "https://images.unsplash.com/photo-1567393528677-d6adae7d4a0a?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1050&q=80",
    //     "Papersider",
    //     "Gulherme Gemballa, Jardim América",
    //     "Nº 260",
    //     "Santa Catarina",
    //     "Rio do Sul",
    //     "Papéis e Papelão"
    // ]

    // function afterInsertData(err) {
    //     if (err) {
    //         return console.log(err)
    //     }

    //     console.log("[personal] Cadastrado com sucesso")
    //     console.log(this)
    // }

    // db.run(query, values, afterInsertData);

    // // query table data with SQL commands
    // db.all(`SELECT * FROM  places`, function(err, rows) {
    //     if (err) {
    //         return console.log(err)
    //     }

    //     console.log("[personal] Aqui estão seus registros")
    //     console.log(rows)
    // })
    
    // // delete a table data with SQL commands
    // db.run(`DELETE FROM places WHERE id = ?`, [8], function(err) {
    //     if (err) {
    //         return console.log(err)
    //     }
        
    //     console.log("[personal] Registro deletado com sucesso")
    // })
});

e rode com

$ node src/database/db.js

Depois de criado, recomente as linhas e rode o servidor.

O arquivo do banco de dados ficara salvo em src/database/database.db


Code by Instrutor
@mateusfg7 @maykbrito

Branch com alterações pessoais: master

Branch com o projeto original: nlw_main_project


@Rocketseat

ecoleta's People

Contributors

mateusfg7 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

ecoleta's Issues

Typescript

Convert project to full typescript

Version: ^3.9.5
build folder: dist/

Setup Dotenv

Use environment variable for PORT with dotenv file

instalation

$ yarn add dotenv
$ yarn add @types/dotenv

create .env on root:

$ touch .env

Dotenv content:

PORT=3000

_create config.ts on src/:

import * as dotenv from "dotenv";

dotenv.config();

export default const PORT = process.env.PORT;

edit src/server.ts: import and use the variable

import express from 'express';
import nunjucks from 'nunjucks';
import routes from './routes';
import PORT from './config.ts';

const server = express();

nunjucks.configure('src/views/', {
  express: server,
  noCache: true,
});

server.use(express.static('public'));
server.use(express.urlencoded({ extended: true }));
server.use(routes);

server.listen(PORT);

Log

add logs of action in server

README

Update the readme of branch nlw_main_projects with original configurations and docs/ folder.

README.md

@@@@@ [START README] @@@@@

Ecoleta

Ecoleta é uma aplicação que ajuda a encontrar pontos de coleta de lixo reciclável no Brasil.

Página principal

Home

Página de pesquisa de Pontos de Coleta em uma determinada cidade

Página de pesquisa

Página de cadastro de Ponto de Coleta

Página de cadastro

Aplicação feita na Next Level Week #1 da @Rocketseat, nos dias 1 a 5 de Junho
nlw

Tecnologias

Front-end:

Back-end:

APIs

Uso

Instalar dependencias:

com npm
$ npm install
com yarn
$ yarn install

Iniciar servidor:

com npm
$ npm start
com yarn
$ yarn run start

porta: 3000

Para trocar a porta basta ir em src/server.js:97, e trocar o porta 3000 para a porta desejada.

// turn on the server
server.listen(3000);

Criar Bando de Dados

Para criar o banco de dados descomente as linhas 9 a 79, depois as linhas 11 a 26 do arquivo src/database/db.js

// use the object of the database, for our operations
db.serialize(() => {
    // create a table with SQL commands:
    // the firs param of data is the type of same
    // PRIMARY KEY -> main data
    // AUTOINCRMENT -> autoincrement when add a new register
    db.run(`
            CREATE TABLE IF NOT EXISTS places (
                id INTEGER PRIMARY KEY AUTOINCREMENT,
                image TEXT,
                name TEXT,
                address TEXT,
                address2 TEXT,
                state TEXT,
                city TEXT,
                items TEXT
            );
    `);

    // // insert data into the table with SQL commands
    // const query = `
    //     INSERT INTO places (
    //         image,
    //         name,
    //         address,
    //         address2,
    //         state,
    //         city,
    //         items
    //     ) VALUES (?,?,?,?,?,?,?);
    // `
    // const values = [
    //     "https://images.unsplash.com/photo-1567393528677-d6adae7d4a0a?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1050&q=80",
    //     "Papersider",
    //     "Gulherme Gemballa, Jardim América",
    //     "Nº 260",
    //     "Santa Catarina",
    //     "Rio do Sul",
    //     "Papéis e Papelão"
    // ]

    // function afterInsertData(err) {
    //     if (err) {
    //         return console.log(err)
    //     }

    //     console.log("[personal] Cadastrado com sucesso")
    //     console.log(this)
    // }

    // db.run(query, values, afterInsertData);

    // // query table data with SQL commands
    // db.all(`SELECT * FROM  places`, function(err, rows) {
    //     if (err) {
    //         return console.log(err)
    //     }

    //     console.log("[personal] Aqui estão seus registros")
    //     console.log(rows)
    // })
    
    // // delete a table data with SQL commands
    // db.run(`DELETE FROM places WHERE id = ?`, [8], function(err) {
    //     if (err) {
    //         return console.log(err)
    //     }
        
    //     console.log("[personal] Registro deletado com sucesso")
    // })
});

e rode com

$ node src/database/db.js

Depois de criado, recomente as linhas e rode o servidor.

O arquivo do banco de dados ficara salvo em src/database/database.db


Code by Instrutor
@mateusfg7 @maykbrito

Branch com alterações pessoais: master

Branch com o projeto original: nlw_main_project


@Rocketseat

@@@@@ [END README] @@@@@

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.