{"id":30292147,"url":"https://github.com/joaopedrodevms/schedly","last_synced_at":"2025-09-03T20:50:34.552Z","repository":{"id":307216099,"uuid":"1028740929","full_name":"joaopedrodevms/Schedly","owner":"joaopedrodevms","description":"Aplicação full stack de agendamento de eventos, com interface moderna, arquitetura limpa, autenticação com JWT e design responsivo com tema claro/escuro. Feita com FastAPI, React, Tailwind e Docker.","archived":false,"fork":false,"pushed_at":"2025-08-08T15:06:11.000Z","size":5381,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-17T00:09:19.092Z","etag":null,"topics":["fastapi","minio","postgres","python","react","schadcn","tailwindcss","typescript","vite"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joaopedrodevms.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,"zenodo":null}},"created_at":"2025-07-30T02:04:06.000Z","updated_at":"2025-08-08T15:06:15.000Z","dependencies_parsed_at":"2025-07-30T04:32:43.488Z","dependency_job_id":"ea7f94a9-6172-4e7f-aeb4-ba47b1193136","html_url":"https://github.com/joaopedrodevms/Schedly","commit_stats":null,"previous_names":["joaopedrodevms/schedly"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/joaopedrodevms/Schedly","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joaopedrodevms%2FSchedly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joaopedrodevms%2FSchedly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joaopedrodevms%2FSchedly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joaopedrodevms%2FSchedly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joaopedrodevms","download_url":"https://codeload.github.com/joaopedrodevms/Schedly/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joaopedrodevms%2FSchedly/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273509138,"owners_count":25118447,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-03T02:00:09.631Z","response_time":76,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["fastapi","minio","postgres","python","react","schadcn","tailwindcss","typescript","vite"],"created_at":"2025-08-17T00:07:19.107Z","updated_at":"2025-09-03T20:50:34.522Z","avatar_url":"https://github.com/joaopedrodevms.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Schedly\n\nSchedly é um projeto que desenvolvi para o meu portfólio com o objetivo de mostrar na prática minhas habilidades como dev full stack.\n\nA proposta é simples: criar uma aplicação moderna e funcional para agendamento de eventos e horários, com foco em experiência do usuário, arquitetura limpa, escalabilidade e boas práticas de engenharia de software. Tudo isso com uma interface bonita, responsiva e fácil de usar.\n\nAbaixo você já pode ver algumas telas do Schedly:\n\n![Schedly](/screenshots/Schedly.gif)\n\n## O que o Schedly faz\n\n- 🗓️ Permite criar e gerenciar eventos e disponibilidades\n- 👥 Oferece perfis de usuário personalizáveis\n- 🌐 Interface moderna, fluida e responsiva\n- 🔐 Autenticação segura com JWT\n- 🎨 Tema claro/escuro\n- 🌍 Lida com diferentes fusos horários\n- 📱 Totalmente mobile-first\n- 🚀 Estruturado para alta performance e escalabilidade\n\n## Tecnologias\n\n### Backend\n- [FastAPI](https://fastapi.tiangolo.com/) - Framework web moderno e rápido\n- [SQLModel](https://sqlmodel.tiangolo.com/) - ORM SQL para Python\n- [PostgreSQL](https://www.postgresql.org/) - Banco de dados relacional\n- [MinIO](https://min.io/) - Armazenamento de objetos\n- [Alembic](https://alembic.sqlalchemy.org/) - Migrações de banco de dados\n- [Poetry](https://python-poetry.org/) - Gerenciamento de dependências\n- [JWT](https://jwt.io/) - Autenticação baseada em tokens\n- [Pytest](https://docs.pytest.org/) - Framework de testes\n\n### Frontend\n- [React](https://react.dev/) - Biblioteca JavaScript para interfaces\n- [TypeScript](https://www.typescriptlang.org/) - JavaScript tipado\n- [Vite](https://vitejs.dev/) - Build tool moderna\n- [TailwindCSS](https://tailwindcss.com/) - Framework CSS utilitário\n- [Radix UI](https://www.radix-ui.com/) - Componentes acessíveis\n- [React Query](https://tanstack.com/query/latest) - Gerenciamento de estado e cache\n- [React Router](https://reactrouter.com/) - Roteamento\n- [React Hook Form](https://react-hook-form.com/) - Gerenciamento de formulários\n- [Zod](https://zod.dev/) - Validação de esquemas\n\n## Como Rodar Localmente 🚀\n\nSe você quiser testar a aplicação localmente, é super simples:\n\n### Pré-requisitos\n\n- [Docker](https://www.docker.com/)\n- [Docker Compose](https://docs.docker.com/compose/)\n\n### Como iniciar\n\n1. Clone o repositório:\n```\ngit clone https://github.com/joaopedrodevms/Schedly.git\ncd Schedly\n```\n\n2. Suba os serviços com Docker Compose:\n```\ndocker compose up -d\n```\n\nA aplicação estará disponível em:\n- Frontend: http://localhost:5173\n- Backend API: http://localhost:8000\n- MinIO Console: http://localhost:9001\n- PostgreSQL: localhost:5432\n\n## Estrutura do Projeto\n\nO projeto segue uma arquitetura limpa e modular:\n\n### Backend\n- \\`/core\\` - Regras de negócio e modelos\n- \\`/interface\\` - APIs e rotas\n- \\`/infra\\` - Implementações de infraestrutura\n- \\`/use_cases\\` - Casos de uso da aplicação\n\n### Frontend\n- \\`/components\\` - Componentes reutilizáveis\n- \\`/pages\\` - Páginas da aplicação\n- \\`/context\\` - Contextos React\n- \\`/hooks\\` - Hooks personalizados\n- \\`/service\\` - Serviços e integrações\n\n\n## Pré-visualização\n\nAlgumas telas da aplicação:\n\n### Tela Inicial\n![Tela Inicial](screenshots/home-dark.png)\n\n### Eventos\n![Eventos](screenshots/event_list-dark.png)\n![Eventos](screenshots/event_view1-dark.png)\n\n### Configurações\n![Configuracao](screenshots/settings-dark.png)\n\n\n### Autenticação\n![Login](screenshots/login-dark.png)\n![Register](screenshots/register-dark.png)\n\nTem mais imagens na pasta /screenshots, inclusive com variações de tema.\n\n## Licença\n\nEste projeto está sob a licença MIT. Veja o arquivo [LICENSE](LICENSE) para mais detalhes.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoaopedrodevms%2Fschedly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoaopedrodevms%2Fschedly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoaopedrodevms%2Fschedly/lists"}