{"id":26262654,"url":"https://github.com/underewarrr/nossocha","last_synced_at":"2026-04-07T20:32:26.330Z","repository":{"id":180193001,"uuid":"661843094","full_name":"Underewarrr/nossocha","owner":"Underewarrr","description":"Uma página em React com React Router Dom v6, Bootstrap, Axios e Next.js. Gerencie presentes recebidos adicione possiveis presentes! Aceite e recuse os presentes","archived":false,"fork":false,"pushed_at":"2023-07-11T14:02:49.000Z","size":256,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-12-31T10:03:27.310Z","etag":null,"topics":["javascript","nextjs","orm-sequelize","react","router-dom-v6","typescript","vercel-serverless-functions"],"latest_commit_sha":null,"homepage":"https://nossocha.vercel.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Underewarrr.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-03T19:29:39.000Z","updated_at":"2023-07-10T17:11:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"629f2be7-8fd6-4324-9b17-7da5408f869b","html_url":"https://github.com/Underewarrr/nossocha","commit_stats":null,"previous_names":["underewarrr/nossocha"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Underewarrr/nossocha","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Underewarrr%2Fnossocha","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Underewarrr%2Fnossocha/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Underewarrr%2Fnossocha/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Underewarrr%2Fnossocha/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Underewarrr","download_url":"https://codeload.github.com/Underewarrr/nossocha/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Underewarrr%2Fnossocha/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31528424,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript","nextjs","orm-sequelize","react","router-dom-v6","typescript","vercel-serverless-functions"],"created_at":"2025-03-14T00:31:57.833Z","updated_at":"2026-04-07T20:32:26.322Z","avatar_url":"https://github.com/Underewarrr.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Health Status\n...\n## NossoCha\n#### Hobby\nEste projto esta sendo feito por Hobby então pode ser que atualizações e novas features demorem a ser implementadas.\n\n#### Sobre o APP\nUsuario pode ver os presentes diponiveis e doar um dos presentes diponiveis na lista.\n\nAdmin pode adicionar presentes para o usuario escolher, quando um persente é enviado o admin recebe uma notificação e pode aceitar ou recusar o presente recebido.\n\nAdmin pode visualizar os presentes aceitados e recusados, assim como os atuais presentes disponiveis para o usuario.\n\n### Testando o app\n#### Admin Role\nEmail: admin@admin.com\nPassword: teste\n#### User Role Não Usado.\nEmail: user@user.com\nPassword: teste\n\n#### Melhorias\nO projeto pode possuir bugs assim como possiveis erros, ainda não foram implementados teste unitarios para manter uma melhor legibilidade do codigo assim como o eslint e o prettier ainda não estão configurados, o sistema de proteção de rotas pode ser melhorado para manter caminhos acessiveis apenas para o admin, como o projeto não usa o sistema de login do usuario eu o utilizei para ser o do admin, deveria existir 2 meios de proteção sendo um para o usuairo e um para o admin.\n\n### Template\n[Use este repositorio para iniciar um template com o sistema de login e auth!\n](https://github.com/Underewarrr/template-vercel-serverless-fullstack)\n\n### Vercel\n- As funções [Serverless](https://vercel.com/docs/concepts/functions/serverless-functions) permitem que os desenvolvedores escrevam funções em JavaScript e outras linguagens para lidar com autenticação de usuário, envios de formulários, consultas de banco de dados  e muito mais.\n\n- Logs nas funções Serverless.\n\n### NextJS\n- Seguindo o padrão da documentação da [vercel + nextjs](https://vercel.com/docs/frameworks/nextjs), você pode entender melhor sobre a organização das rotas da api ou paginas.\n\n#### Front-end Routes :\n##### OBS : Para as rotas e as requisições a pasta pages não será incluida a rota final sendo : /user/pagename.\n\n`/pages/user/pagename`\n- OBS: Observe que nesse exemplo teriamos um arquivo pagename.ts\n\n- OBS: Se o nome do arquivo/pagina for index.ts então será carregado com o nome da pasta do arquivo exemplo :\n`/pages/user/login`\n- OBS: Observe que nesse caso teriamos um arquivo index.ts\n\n#### Back-end Routes :\n##### OBS : Para as rotas e as requisições a pasta pages não será incluida a rota final sendo : /api/user/pagename.\n\n`/pages/api/user/pagename`\n- OBS: Observe que nesse exemplo teriamos um arquivo pagename.ts\n\n- OBS: Se o nome do arquivo/pagina for index.ts então será carregado com o nome da pasta do arquivo exemplo :\n`/pages/api/user/login`\n- OBS: Observe que nesse caso teriamos um arquivo index.ts\n\n## Como rodar\nOBS: Database ainda não configurada nesse repo.\n### (Vercel-Pro-Way)\nFork o respositorio, entre no site da [vercel](https://vercel.com/) e importe o projeto, pronto agora é só esperar a vervel criar o dominio e colocar o app online!\n### (Vercel-Config)\nApós importar o projeto tudo feito, agora espere o build, enquanto isso podemos configurar nossas variaveis de ambiente direamente na vercel.\nInfelizmente a vercel não importa diretamente do .env é necessario adicionar na interface do proprio website da vercel.\n```\nJWT_SECRET = JWT_SECRET\nDB_USER = \nDB_PASS = \nDB_NAME =\nDB_HOST = www.db4free.net\nREACT_APP_API_PORT = 3000\n```\n### NodeConfig (NPM)\nLembre-se usando o ORM(squelize) é necessario antes rodar as migrations e seeders para popular a sua database.\ncom o comando `db:reset`\n![image](https://github.com/Underewarrr/template-vercel-serverless-fullstack/assets/74227915/b6435c71-2932-4146-ab7a-4a0ebb2a3126)\nPara configurar o usuario do Sequelize utilize o .env.example do projeto.\n\n\n## AuthSystem\nO sistema de proteção de rotas funciona com uma hoc [(High Order Component)](https://github.com/Underewarrr/template-vercel-serverless-fullstack/blob/master/pages/hoc/withAuth.tsx), como esse component é recarregado apenas nas rotas que o usuario tem permissão então algumas verificações e dados podem ser salvos e usados nesse component quando necessario!\nPara proteger uma rota inicie o component `\u003cProtectedRoute /\u003e`\n\n#### OBS : Ainda esta faltando configurar corretamente o middleware do Jsonwebtoken.\n\n#### \n\n# Ferramentas\n## Front-End\n### Frameworks\n- React \n- Bootstrap\n### JustLibs\n- jsonWebToken\n- mdb-react-ui-kit\n- axios\n- react-dom\n- swr NOT USED\n## Back-End\n### Frameworks\n- NextJS\n\n### JustLibs\n- Sequelize\n- Mysql2\n### Languages\nTypescript, Javascript\n\n## Configuração de ORM (Database)\n - [x] [User](https://github.com/Underewarrr/template-vercel-serverless-fullstack/blob/master/database/models/User.ts)\n## Rotas Front-End\n- /user\n  - /login\n  - /register\n\n## Rotas Back-end\n- /api\n  - /user\n    - /login\n    - /register\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funderewarrr%2Fnossocha","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funderewarrr%2Fnossocha","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funderewarrr%2Fnossocha/lists"}