Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mateusfg7/ecoleta

: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.
https://github.com/mateusfg7/ecoleta

css3 ecoleta ecoleta-nlw html5 ibge-api nlw nlw-start nodejs nunjucks reciclagem responsive sqlite3 typescript

Last synced: about 1 month ago
JSON representation

: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.

Awesome Lists containing this project

README

        

# ![Ecoleta](docs/icones/logo.svg)






**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](https://github.com/Rocketseat), nos dias 1 a 5 de Junho_
![nlw](docs/nlw.png)

### Tecnologias

#### Front-end:

- [Nunjucks](https://mozilla.github.io/nunjucks/)
- [HTML 5](http://www.w3.org/TR/html5/)
- [CSS 3](https://www.w3schools.com/Css/)
- [JavaScript](https://www.javascript.com/)

#### Back-end:

- [NodeJS](https://nodejs.org/)
- [Express](https://expressjs.com/)
- [Nodemon](https://nodemon.io/)
- [SQLite3](https://www.sqlite.org/)

#### APIs

- [IBGE](https://servicodados.ibge.gov.br/api/docs/localidades?versao=1)

### Uso

#### Instalar dependencias:

com npm

```bash
$ npm install
```

com yarn

```bash
$ yarn install
```

#### Iniciar servidor:

com npm

```bash
$ npm start
```

com yarn

```bash
$ yarn run start
```

> porta: 3000

Para trocar a porta basta ir em [src/server.js:97](https://github.com/mateusfg7/Ecoleta/blob/master/src/server.js#L97), e trocar o porta 3000 para a porta desejada.
```javascript
// 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](https://github.com/mateusfg7/Ecoleta/blob/master/src/database/db.js)

```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
```bash
$ node src/database/db.js
```
Depois de criado, recomente as linhas e [rode o servidor](#iniciar-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](https://github.com/mateusfg7/Ecoleta/tree/master)

> Branch com o projeto original: [nlw_main_project](https://github.com/mateusfg7/Ecoleta/tree/nlw_main_projects)

---

[@Rocketseat](https://github.com/Rocketseat)