Skip to content

EduPrime/app

Folders and files

NameName
Last commit message
Last commit date
Mar 24, 2025
Oct 17, 2024
Oct 14, 2024
Nov 22, 2024
Apr 10, 2025
Feb 25, 2025
Apr 14, 2025
Aug 22, 2024
Dec 4, 2024
Jan 22, 2025
Feb 5, 2025
Apr 1, 2025
Sep 4, 2024
Mar 31, 2025
Apr 10, 2025
Apr 10, 2025
Aug 22, 2024
Apr 1, 2025
Aug 22, 2024
Sep 13, 2024
Apr 10, 2025
Apr 3, 2025
Apr 1, 2025
Oct 14, 2024
Aug 22, 2024
Oct 14, 2024
Aug 22, 2024
Apr 9, 2025

Repository files navigation

EduPrime OpenSource

EduPrime é um ERP modular para escolas, desenvolvido usando Ionic Framework 8 com Vue 3. Cada módulo (por exemplo, cadastro de alunos, cadastro de escolas, cadastro de professores) é gerenciado de forma independente usando submódulos Git.

Estrutura do Projeto

A estrutura do projeto é organizada da seguinte forma:

EduPrime/
├── src/
│   ├── components/
│   ├── modules/
│   │   ├── student-registration/
│   │   ├── school-registration/
│   │   └── teacher-registration/
│   │       ├── views/
│   │       ├── services/
│   │       ├── index.ts
│   │       └── routes.ts
│   ├── views/
│   ├── App.vue
│   └── main.ts
├── public/
├── package.json
└── ionic.config.json

Como Adicionar um Novo Módulo

1. Criar um Repositório para o Módulo

Crie um novo repositório para o módulo que você deseja adicionar. Por exemplo, para um módulo de "Cadastro de Turmas":

  1. Vá ao GitHub ou qualquer outro serviço de hospedagem de código e crie um novo repositório chamado class-registration.

2. Estruturar o Módulo

No novo repositório, crie a estrutura necessária:

mkdir -p src/modules/class-registration/views
mkdir -p src/modules/class-registration/services
touch src/modules/class-registration/index.ts
touch src/modules/class-registration/routes.ts

3. Desenvolver o Módulo

Edite os arquivos conforme necessário.

ClassRegistration.vue

Este é o componente de visualização principal para o módulo, onde você definirá a interface do usuário.

<!-- src/modules/class-registration/views/ClassRegistration.vue -->
<script setup lang="ts">
import { IonContent, IonHeader, IonPage, IonTitle, IonToolbar } from '@ionic/vue'

defineProps({})
</script>

<template>
  <IonPage>
    <IonHeader>
      <IonToolbar>
        <IonTitle>Cadastro de Turmas</IonTitle>
      </IonToolbar>
    </IonHeader>
    <IonContent>
      <!-- Formulário de Cadastro de Turmas -->
    </IonContent>
  </IonPage>
</template>

<style scoped>
/* Seu estilo aqui */
</style>

index.ts

Este arquivo é usado para exportar os componentes ou serviços que você deseja disponibilizar a partir deste módulo.

// src/modules/class-registration/index.ts
export { default as ClassRegistration } from './views/ClassRegistration.vue'

routes.ts

Neste arquivo, você define as rotas específicas para o módulo, incluindo propriedades meta para controle de navegação e organização.

// src/modules/class-registration/routes.ts
import { school } from 'ionicons/icons'
import ClassRegistration from './views/ClassRegistration.vue'

const routes = [
  {
    path: '/class-registration',
    name: 'ClassRegistration',
    component: ClassRegistration,
    meta: {
      moduleName: 'ClassRegistration',
      moduleIcon: school,
      icon: school,
      name: 'Cadastro de Turmas',
      order: 1,
    },
  },
]

export default routes

4. Adicionar o Módulo como Submódulo no Projeto Principal

No diretório do projeto principal EduPrime, adicione o módulo como submódulo Git:

cd EduPrime/src/modules
git submodule add https://github.com/seu-usuario/class-registration.git class-registration
git submodule init
git submodule update

5. Configurar Rotas no Projeto Principal

As rotas do novo módulo serão importadas automaticamente para o projeto global do Ionic. Ao definir suas rotas no módulo e adicionar o módulo ao projeto principal, o sistema irá carregar essas rotas e disponibilizá-las no roteador principal.

6. Importar Componentes Globalmente no main.ts

Os componentes do novo módulo serão importados automaticamente para o projeto global do Ionic. Isso significa que qualquer componente definido e exportado em index.ts do módulo estará disponível globalmente no projeto, sem necessidade de importações adicionais.

7. Ajustar o Menu no App.vue

A estrutura do menu será gerada dinamicamente com base nas rotas definidas nos módulos. Ao carregar as rotas no projeto principal, o sistema construirá o menu com base nas propriedades meta definidas em cada rota, garantindo uma navegação consistente e organizada.

Manutenção e Atualização de Submódulos

Para atualizar os submódulos, navegue até o diretório de cada módulo, faça as alterações necessárias e commite:

cd src/modules/class-registration
# Fazer alterações
git add .
git commit -m "Atualizar componente de cadastro de turmas"
git push origin main

Depois, no projeto principal, atualize os submódulos:

git submodule update --remote

Conclusão

Seguindo essas instruções, você poderá adicionar e integrar novos módulos ao EduPrime de forma modular e organizada. Isso facilita a colaboração e a manutenção do projeto, permitindo que cada módulo seja desenvolvido e gerenciado de forma independente.