Skip to content

Gerencie seus Jobs de forma simples e prática com jobscalc. Aplicação construída em NextJS consumindo a api Java jobscalc-api

License

Notifications You must be signed in to change notification settings

glaubermatos/jobscalc

Repository files navigation

GitHub language count Repository size GitHub last commit License




JobsCalc

🚧 Aplicação finalizada! 🚧

🏁 Tópicos

👉 Sobre
👉 Funcionalidades
👉 Melhorias
👉 Layout
👉 Demonstração
👉 Como executar
👉 Tecnologias
👉 Autor
👉 Licença

💻 Sobre o projeto

Uma aplicação para cadastrar e calcular o valor dos seus projetos freelancers de forma simples e fácil. Crie seu perfil com Github, complete seu perfil informando seu planejameno financeiro e pronto, o sistema irá calcular o valor da sua hora de trabalho.

Cadastre seus freelas informando a quantidade de horas estimada para sua conclusão e o sistema calcula o valor do Job com base no valor da sua hora de trabalho.

Esta versão do JobsCalc foi desenvolvido com a intenção de consolidar os conhecimentos com as tecnologias NextJS (front-end) e Spring (back-end). O back-end pode ser encontrado AQUI

O projeto original jobscalc é construído com um servidor NodeJS, EJS para template engine e SQLite como banco de dados, pode ser desenvolvido acessando a Maratona Discover 2 da Rocketseat.

Então, confira o resultado no link abaixo:

app jobscalc

⚙️ Funcionalidades

  • Front-end;
    • Página:
      • de Login com Github;
      • Principal listando os jobs em andamento, encerrados e não iniciado;
      • do perfil para configurar o planejamento de estimativas de ganhos e horas de trabalho;
      • para cadastro de jobs;
      • para editar jobs;
      • modal para deletar jobs;
    • Autenticação com Next-Auth;
    • Rotas privadas para usuários não autenticados;
    • Notificações com Toastify;
    • Versão web mobile;
  • API Routes
    • Perfil
      • POST /api/profiles - Cria um novo perfil de usuário
      • PUT /api/profiles/[profileId] - Atualiza dados do perfil do usuário
    • Jobs
      • GET /api/profiles/[profileId]/jobs - Lista os jobs do perfil do usuário
      • POST /api/profiles/[profileId]/jobs - Cria um novo job
      • PUT /api/profiles/[profileId]/jobs/[jobId] - Atualiza dados do job
      • DELETE /api/profiles/[profileId]/jobs/[jobId] - Deleta o job
      • GET /api/profiles/[profileId]/jobs/[jobId] - Lista os dados do job

⚙️ Melhorias

  • Usar fakeAPI para remover dependência do projeto back-end em java disponível AQUI.
  • Mostrar um load de carregamento nas páginas enquanto o servidor não retorna os dados do backend
  • Otimização de imagens substituindo todas as tags 'img' para o component Image do NextJS

🎨 Layout

  • Layout Frontend

  • Personalizações no layout

    • Criação do design da página de login com github.
    • Customização da pagina de edição de job
      • Criação de componente para alteração de status.
    • Versão para web mobile

Página de login com github

Página de edição de jobs


🕹️ Demonstração

happy-web

🚀 Como executar o projeto

💡O Frontend precisa que o Backend esteja sendo executado para funcionar, que pode ser encontrado AQUI.

💡Para integração com a autenticação é preciso configurar as variáveis de ambiente para o Next-Auth se conectar com a api do Github.

Pré-requisitos

Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: Git, Node.js, Yarn. Além disto é bom ter um editor para trabalhar com o código como VSCode

🧭 Rodando a aplicação web (Frontend)

# Clone este repositório
$ git clone https://github.com/glaubermatos/jobscalc.git

# Acesse a pasta do projeto no seu terminal/cmd
$ cd jobscalc

# Instale as dependências
$ yarn

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

# A aplicação será aberta na porta:3000 - acesse http://localhost:3000

# É necessário configurar as variáveis de ambiente

🧭 Configure as variáveis de ambiente

Configure o github para permitir autenticação, crie uma OAuth App AQUI.

# Copie o arquivo .env.local.example para a raiz do seu projeto renomeando para .env.local (que será ignorado pelo Git):
$ cp .env.local.example .env.local

Adicione detalhes para um ou mais provedores (por exemplo, Google, Twitter, GitHub, Email etc.).

Para ver detalhes da implementação do Next-Auth AQUI.

Saiba mais sobre o Next-Auth.


🛠 Tecnologias

Este é um projeto Next.js inicializado com create-next-app. As seguintes ferramentas foram usadas na construção do projeto:

Aplicação web (NextJS + TypeScript)

Veja o arquivo package.json

Utilitários


🦸‍♂️ Autor

glaubermatos
🌟 Glauber de Oliveira Matos 🌟

Linkedin Badge


📝 Licença

Este projeto esta sobe a licença MIT.

Feito com 😆 por Glauber de Oliveira Matos 👋🏽 Entre em contato!


About

Gerencie seus Jobs de forma simples e prática com jobscalc. Aplicação construída em NextJS consumindo a api Java jobscalc-api

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published