Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 13 additions & 6 deletions ganesh/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ Algumas funcionalidades:
- Criação de conteúdo (artigo, dicas, atividades ou notícias)
- Alteração de dados do autor

### Tecnologias usadas

O projeto foi feito com Nextjs 15.2.1, Prisma, Postgres e Docker.
A autenticação foi feita utilizando o NextAuth V5 (Beta).

### Como rodar para desenvolvimento?

Rode todos os passos a seguir no diretório `/ganesh`.
Expand All @@ -27,17 +32,19 @@ Rode todos os passos a seguir no diretório `/ganesh`.

##### Para produção

1. Rode `docker compose -f docker-compose.prod.yaml build`.
2. Rode `docker compose -f docker-compose.prod.yaml up -d`.
O projeto possui um **action-runner** que realiza o deploy automaticamente no servidor de produção. Ele é configurado para, ao realizar um push na branch principal (master), realizar o deploy no servidor de produção.

O projeto está configurado para rodar em produção com docker compose. Ele é configurado para rodar na porta 3000, e usamos o **nginx** para fazer o **proxy reverso**. Os comandos úteis na produção são:

##### Caso queira deletar o usuário
- `docker compose -f docker-compose.prod.yaml build` para buildar o projeto (ele criará uma imagem nova do projeto). Tome cuidado pois ele não deleta a imagem antiga, então você terá que deletar manualmente.
- `docker compose -f docker-compose.prod.yaml up -d` para rodar o projeto em produção.
- `docker compose -f docker-compose.prod.yaml down` para terminar o projeto.

Rode `npm run delete`.
##### Adicionando ou deletando usuários

### Próximos passos
Caso queira criar um usuário, altere o arquivo `/prisma/seed.ts` com o email e senha, e então rode `npx prisma db seed` na raiz do projeto.

- Trazer parte dos códigos do site antigo para o novo.
Caso queira deletar um usuário, altere o arquivo /prisma/delete.sql com o email que queres deletar, e então rode `npm run delete` na raiz do projeto.

### Alguns prints de tela

Expand Down
2 changes: 1 addition & 1 deletion ganesh/docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ services:
- 3000:3000
environment:
DATABASE_URL: ${DATABASE_URL_PRODUCTION}
AUTH_SECRET: ${NEXTAUTH_SECRET}
AUTH_SECRET: ${AUTH_SECRET}
volumes:
- .:/app # Mount the local directory into the container
- node_modules:/app/node_modules # Ensure node_modules inside the container is not overwritten
Expand Down
4 changes: 2 additions & 2 deletions ganesh/locales/br.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,11 @@
"introduction3": "A visão do ICMC é <span class='terminal'>se tornar uma referência mundial em ensino e pesquisa</span> contribuindo de forma decisiva para a evolução do conhecimento em suas áreas de atuação, formando recursos humanos de alto nível e apoiando o desenvolvimento científico, tecnológico e social da região, estado e país.",
"videoTitle": "Vídeo Institucional",
"historyTitle": "História e Infraestrutura",
"history1": "Fundado em 1971, o Instituto de Ciências Matemáticas e de Computação (ICMC) da Universidade de São Paulo (USP) ocupa 18.000 metros quadrados e atende cerca de 2.000 estudantes em oito cursos de graduação e cinco programas de pós-graduação, com o suporte de aproximadamente 150 docentes e 120 funcionários administrativos. Os alunos do ICMC recebem uma formação robusta que os prepara para carreiras profissionais de sucesso.",
"history1": "<span class='terminal'>Fundado em 1971</span>, o Instituto de Ciências Matemáticas e de Computação (ICMC) da Universidade de São Paulo (USP) ocupa 18.000 metros quadrados e atende cerca de 2.000 estudantes em oito cursos de graduação e cinco programas de pós-graduação, com o suporte de aproximadamente 150 docentes e 120 funcionários administrativos. Os alunos do ICMC recebem uma formação robusta que os prepara para carreiras profissionais de sucesso.",
"history2": "Reconhecido globalmente como um centro de excelência, o ICMC impacta a sociedade ao formar profissionais qualificados e ao se envolver em pesquisas de ponta e ações de extensão.",
"history3": "Nossas instalações modernas contam com amplos espaços verdes, uma biblioteca com cerca de 140.000 volumes e 23.000 periódicos eletrônicos, além de ambientes educacionais de ponta, incluindo auditórios e laboratórios abertos 24 horas. O campus oferece internet sem fio de alta velocidade em toda a sua extensão. Explore o ICMC mais a fundo por meio de nosso tour virtual.",
"history4": "Além disso, o campus da USP em São Carlos oferece diversas comodidades, como restaurante, moradia, transporte, serviços médicos e odontológicos, creche e uma instalação esportiva.",
"history5": "Localizada a 230 km de São Paulo, São Carlos é conhecida como a \"Capital da Ciência e Tecnologia\", renomada por suas universidades e pesquisadores. A cidade apresenta todas as quatro estações em um único dia, refletindo seu clima único. São Carlos possui a maior proporção de doutores per capita da América do Sul e se destaca pela inovação, abrigando duas grandes universidades públicas (USP e UFSCar), uma universidade privada, faculdades de tecnologia, centros de pesquisa, parques tecnológicos e diversas empresas de tecnologia.",
"history5": "Localizada a 230 km de São Paulo, São Carlos é conhecida como a <span class='terminal'>\"Capital da Ciência e Tecnologia\"</span>, renomada por suas universidades e pesquisadores. A cidade apresenta todas as quatro estações em um único dia, refletindo seu clima único. São Carlos possui a maior proporção de doutores per capita da América do Sul e se destaca pela inovação, abrigando duas grandes universidades públicas (USP e UFSCar), uma universidade privada, faculdades de tecnologia, centros de pesquisa, parques tecnológicos e diversas empresas de tecnologia.",
"areasOfActivity": "Áreas de Atuação",
"teachingTitle": "Ensino",
"teaching1": "Em adição a oferecer 8 cursos de graduação, o ICMC é responsável por prover treinamentos e disciplinas para estudantes dos cursos de Arquitetura, Engenharias, Química e Física, coordenadas por outras unidades do campus de São Carlos. No nível de pós graduação, os programas do ICMC estão dentre os melhores do país, tendo formado mestres e doutores que agora ocupam posições de ensino e pesquisa prestigiosa em instituições de pesquisa, organizações governamentais e companhias no Brasil e afora. Pós graduandos do ICMC possuem um background dinâmico que se sobressai no mercado, seja em carreira acadêmica ou em qualquer área de atividade profissional.",
Expand Down
4 changes: 2 additions & 2 deletions ganesh/locales/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,11 @@
"introduction3": "The ICMC's vision is to <span class='terminal'>become a worldwide reference in teaching and research</span> contributing decisively to the evolution of knowledge in its areas of expertise, training high-level human resources and supporting the scientific, technological and social development of the region, state and country.",
"videoTitle": "Representative Video",
"historyTitle": "History and Infrastructure",
"history1": "Established in 1971, the Institute of Computer and Mathematical Sciences (ICMC) at the University of São Paulo (USP) spans 18,000 square meters and serves around 2,000 students across eight undergraduate programs and five graduate courses, supported by approximately 150 faculty members and 120 administrative staff. ICMC students receive a robust education that equips them for successful professional careers.",
"history1": "Established in <span class='terminal'>1971</span>, the Institute of Computer and Mathematical Sciences (ICMC) at the University of São Paulo (USP) spans 18,000 square meters and serves around 2,000 students across eight undergraduate programs and five graduate courses, supported by approximately 150 faculty members and 120 administrative staff. ICMC students receive a robust education that equips them for successful professional careers.",
"history2": "Globally recognized as a center of excellence, ICMC impacts society by training skilled professionals and engaging in cutting-edge research and community outreach.",
"history3": "Our modern facilities feature extensive green spaces, a library with about 140,000 volumes and 23,000 electronic journals, and state-of-the-art educational environments, including auditoriums and 24-hour open laboratories. The campus provides high-speed wireless internet throughout. Explore ICMC further through our virtual tour.",
"history4": "Additionally, the USP campus in São Carlos offers various amenities, such as a restaurant, accommodation, transportation, medical and dental services, a daycare center, and a sports facility.",
"history5": "Located 230 km from São Paulo, São Carlos is known as the \"Capital of Science and Technology,\" renowned for its universities and researchers. It experiences all four seasons in a day, showcasing its unique climate. The city boasts the highest number of PhD holders per capita in South America and excels in innovation, hosting two major public universities (USP and UFSCar), a private university, technology faculties, research centers, technology parks, and numerous tech companies.",
"history5": "Located 230 km from São Paulo, São Carlos is known as the <span class='terminal'>\"Capital of Science and Technology\"</span>, renowned for its universities and researchers. It experiences all four seasons in a day, showcasing its unique climate. The city boasts the highest number of PhD holders per capita in South America and excels in innovation, hosting two major public universities (USP and UFSCar), a private university, technology faculties, research centers, technology parks, and numerous tech companies.",
"areasOfActivity": "Areas of Activity",
"teachingTitle": "Teaching",
"teaching1": "In addition to offering eight undergraduate courses, the ICMC is responsible for providing primary training courses for students in Architecture, Engineering, Physics and Chemistry courses, coordinated by the other units of the São Carlos campus. At the graduate level, the ICMC programs are among the best in the country, having trained Masters and Doctors who now occupy positions in prestigious teaching and research institutions, governmental organizations and companies in Brazil and abroad. ICMC graduates have a dynamic background that stands out in the market, whether in an academic career or any area of professional activity.",
Expand Down
28 changes: 14 additions & 14 deletions ganesh/src/app/[locale]/about/institute/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -63,15 +63,15 @@ export default function Institute() {
<div className="text-2xl font-mono font-bold pb-4">
{t("historyTitle")}
</div>
{t("history1")}
<br /><br />
{t("history2")}
<br /><br />
{t("history3")}
<br /><br />
{t("history4")}
<br /><br />
{t("history5")}
<div dangerouslySetInnerHTML={{ __html: t.raw('history1') }} />
<br />
<div dangerouslySetInnerHTML={{ __html: t.raw('history2') }} />
<br />
<div dangerouslySetInnerHTML={{ __html: t.raw('history3') }} />
<br />
<div dangerouslySetInnerHTML={{ __html: t.raw('history4') }} />
<br />
<div dangerouslySetInnerHTML={{ __html: t.raw('history5') }} />
</Terminal>
</div>
</div>
Expand All @@ -94,7 +94,7 @@ export default function Institute() {
<div className="text-2xl font-mono font-bold pb-4">
{t("teachingTitle")}
</div>
{t("teaching1")}
<div dangerouslySetInnerHTML={{ __html: t.raw('teaching1') }} />
</div>
</div>

Expand All @@ -111,9 +111,9 @@ export default function Institute() {
<div className="text-2xl font-mono font-bold pb-4">
{t("researchTitle")}
</div>
{t("research1")}
<br /><br />
{t("research2")}
<div dangerouslySetInnerHTML={{ __html: t.raw('research1') }} />
<br />
<div dangerouslySetInnerHTML={{ __html: t.raw('research2') }} />
</div>
</div>

Expand All @@ -130,7 +130,7 @@ export default function Institute() {
<div className="text-2xl font-mono font-bold pb-4">
{t("cultureTitle")}
</div>
{t("culture1")}
<div dangerouslySetInnerHTML={{ __html: t.raw('culture1') }} />
</div>
</div>
</Terminal>
Expand Down
Loading