Skip to content

Letiiciia/API_learnWithUs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Entendendo o projeto learnWithUs

Understanding the learnWithUs project


O projeto surge com a necessidade de, quem está aprendendo idiomas, encontrar exercícios relacionados aos conteúdos.

The project was born with the necessity of those who are learning languages to find exercises about contents in English.


Modelo Exercício // Exercise Model

    [
        {
        "id": "5fd2a6052959af002434fb84",
        "author": "Letícia Lima",
        "profile_linkedin": "https://www.linkedin.com/in/leticia-flima/",
        "theme": "Present Perfect",
        "instructions": "Put the verbs into the correct form (present perfect simple).",
        "exercise_1": "I (not / work) _____ today.",
        "exercise_2": "We (buy) _____ a new lamp.",
        "exercise_3": "We (not / plan) _____ our holiday yet.",
        "exercise_4": "Where (be / you) ______ ?",
        "exercise_5": "He (write) ____ five letters.",
        "answer_1": "have not worked",
        "answer_2": "have bought",
        "answer_3": "have not planned",
        "answer_4": "have you been",
        "answer_5": "has written"
        }
    ] 
  • Pode inserir até 10 exercícios por formulário.
  • We can insert up to 10 exercises for form.

A API possui: // The API has:

  • Um CRUD com exercícios de tempos verbais e vocabulários usuais

  • Modelo Open Source para que professores e alunos contribuam com materiais e conteúdos no banco de dados

  • A CRUD with exercises about verb tenses and usual vocabularies

  • Model Open Source for teachers and students to contribute with materials and contents on the database


A Missão // The Mission

Criar uma rede de apoio, incentivo e materiais para a prática constante até a perfeição, livre de custo financeiro. Aprender é prazeroso e aprender em conjunto é maravilhoso.

Creating a support network, encouragement and materials to practice regularly in order to reach perfection, without financial costs. Learning is pleasurable and learning with other people is awesome.


Arquitetura // Architecture

    MVC
    |
    \--📂 API_learnWithUs
        |   README.md  
        |   .env
        |   .gitignore
        |   package-lock.json
        |   package.json
        |   **server.js**
        \--📂 node_modules
        \--📂 img
        \--📂src
            |
            |   **app.js**
            |
            📂---database
            |   **coonect.js
            |
            📂---controller
            |       accountControllers.js
            |       exerciseControllers.js
            |       
            |       
            |
            📂---model
            |       accountSchema.js
            |       exerciseSchema.js
            |       
            |       
            |       
            |
            📂---routes
            |       accountRoutes.js
            |       exerciseRoutes.js
            |       
            |       
            |       
            📂---utils
            |       statusCode.js
            |       
            |       
            |       
            |__   

Clique para visualizar o desenho da DiagramLearnWithUs.png

Click to visualize the drawing of DiagramLearnWithUs.png


CRUD do Exercício- Composto por:

  • Post - Cadastrar o exercício e o contato do criador do material, como nome e linkedin (A ideia é criar um network através dessa iniciativa)
  • Get - Trazer os exercícios cadastrados no banco de dados
  • Get - Por Tema (ex: present perfect)
  • Get - Por id (ex: _id:5486565, exercício específico)
  • Update - Por id
  • Delete - Por id
  • Delete - Por theme

Exercise CRUD- Made with:

  • Post - Register the exercise and the user of the material creator, Such as name and linkedin profile (The idea is to creat a network through this initiative)
  • Get - To bring the registered exercises on data base
  • Get - For theme (eg: present perfect)
  • Get - For id (eg: _id:5486565, specific exercise)
  • Update - For id
  • Delete - For id

CRUD da Conta- Composta por:

  • Post - Cadastrar o login do usuário/contribuinte
  • Get - Cadastros
  • Update - Por id
  • delete - Por id..

Account CRUD- Made with:

  • Post - Register user/contributor login
  • Get - Registers
  • Update - For id
  • delete - For id

EndPoints exercício // Exercises endpoints

Recurso/Resource Descrição/Description
/exercise/all Retorna todos os exercícios/Return all the exercises
Recurso/Resource Descrição/Description
/exercise/new Cadastra um novo exercício/Register a new exercise
Recurso/Resource Descrição/Description
/exercise/:id Retorna exercício específico/Return to a specific exercise
Recurso/Resource Descrição/Description
/exercise/theme Retorna exercício específico pelo tema/ Return to a specific theme
Recurso/Resource Descrição/Description
/exercise/update/:id Atualiza exercício específico/Update exercise
Recurso/Resource Descrição/Description
/exercise/delete/:id Deleta exercício específico/Delete a specific exercise

EndPoints conta // Account endpoints

Recurso/Resource Descrição/Description
/register Cadastra um usuário/Register a user
Recurso/Resource Descrição/Description
/accounts Retorna usuários sem dados sencíveis/Return user without sensitive data
Recurso/Resource Descrição/Description
/update/:id Atualiza usuário específico/Update a specific user
Recurso/Resource Descrição/Description
/delete/:id Deleta usuário específico/Delete a specific user

Rodando o Back End

Running the Back End

Server Local
# Com o git/With git
# Clone este repositório/Clone this repository
$ git clone <https://github.com/Letiiciia/API_learnWithUs>

# Acesse a pasta do projeto no terminal - cmd/Access the mkdir of project on terminal
$ cd API_learnWithUs

# Instale as dependências/Install the dependencies
$ npm install
$ npm instal mongoose

# Execute o servidor/Run the server
$ npm start

# O servidor inciará na porta:8080 - acesse <http://localhost:8080>/The server will start on port 8080
# Mongo conectado em mongodb://localhost:27017/reprograma / connected to mongodb

Deploy
* Acesse o [link da API](https://lwus.herokuapp.com/) 

* Utilize o [Postman](https://www.postman.com/) ou [Insomnia](https://insomnia.rest/download/) para para chamar e testar os endpoints da API localmente ou via Heroku
Deploy
* Access [link da API](https://lwus.herokuapp.com/) 

* Utilize to [Postman](https://www.postman.com/) ou [Insomnia](https://insomnia.rest/download/) return and test the API andpoints locally or via Heroku

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published