Git Product home page Git Product logo

orange-back's Introduction

Imagem do logotipo Orange Portfólio, um MacBook e um iPhone com a tela inicial da aplicação aberta

Orange Portfólio - Squad 40

Bem-vindo ao Orange Portfólio! Esta aplicação foi desenvolvida para incentivar desenvolvedores a compartilharem seus projetos pessoais e a estabelecerem conexões valiosas dentro da comunidade Orange Juice. 🍊

Com recursos robustos de personalização, os usuários podem destacar seus projetos exclusivos, incluindo detalhes como nome, link, imagens e tags descritivas. A capacidade de interagir com os portfólios de outros usuários cria uma comunidade dinâmica, promovendo a descoberta de novos talentos e oportunidades de networking.

Destaque-se na multidão com o Orange Portfolio! Nossa aplicação oferece uma abordagem centrada no usuário, permitindo que você construa um portfólio online que realmente reflete suas habilidades e conquistas. A busca avançada e os filtros facilitam a descoberta de projetos específicos de outros usuários.


Tecnologias e bibliotecas

typescript NodeJS Docker Prisma Postgres AWS Fastify PNPM


Live Preview

Acesse o live preview clicando aqui, crie uma nova conta e se divirta!

Obs.: A aplicação está hospedada no serviço Render em plano gratuito. Por isso, podem ocorrer algumas diferenças de desempenho em determinados momentos.


Rodando o Back End (Servidor)

# Clone este repositório
$ git clone <https://github.com/MatheusSanchez/orange-back.git>

# Acesse a pasta do projeto no terminal/cmd
$ cd orange-back

# Instale as dependências 
$ pnpm install


# Subir o container do Docker com banco de dados 
$ docker compose up -d


# Crie as variáveis de ambiente, um arquivo .env na raiz do projeto.
$ Veja o exemplo no arquivo ./env.example

# Gere o client do Prisma 
$ pnpm prisma generate


# Execute as Migrations
$ pnpx prisma migrate dev


# Execute a aplicação em modo de desenvolvimento
$ pnpm run dev

# O servidor inicicará na porta:3333 - acesse <http://localhost:3333>


## Rodando os testes 

# Voce pode rodar os teste unitários nos seguinte scripts: 

$ pnpm run test
$ pnpm run test:watch
$ pnpm run test:coverage

# A aplicaçao também conta com teste e2e
# É necessário fazer o setup dos testes e2e antes;

$ pnpm run pretest:e2e

# Rodando os teste e2e
$ pnpm run test:e2e

Pitch

Você pode conferir o vídeo de pitch do projeto clicando aqui.


Explorando a API

Utilize o Insomnia para interagir com a API:

Run in Insomnia}


Autores


@LucSosa

@MatheusSanchez

@maxyuri13

@pedrodecf

orange-back's People

Contributors

matheussanchez avatar pedrodecf avatar maxyuri13 avatar luiseduardo3 avatar lucsosa avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

pedrodecf

orange-back's Issues

Do not allow a logged-in user to search for another user's info.

Currently, if you are logged in, you can search for a user using the get user by id route by passing another user's ID as a query parameter.

This happens because the route uses the JWT token just for authentication and not to search for the user.

This would also prevent us from needing to export the userId from the create-authenticate-user.ts file, which is used for our tests, and to complete the route path (through query parameters) in the tests.

Remove the query param for the following routes:

  • /user/:id
  • /user/:userId/edit
  • /user/:userId/photo
  • /user/:userId/project
  • /projects/:userId

Delete the following routes:

  • /user ---- getUserByEmail - we can use the route by id - can be deprecated

With those changes, we need to fix the front-end o exclude these query parameters.

@pedrodecf could you create an issue on the front-end repo and link here ?

More context: #49

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.