Curso DSpace for Developers Extending and Contributing
24 horasVisão Geral
Curso DSpace for Developers Extending and Contributing: Este curso é voltado para desenvolvedores que desejam compreender profundamente a arquitetura do DSpace, aprender como estender suas funcionalidades, criar novos módulos e contribuir com o desenvolvimento da comunidade open source. Os participantes terão uma visão prática sobre como trabalhar com o código-fonte do DSpace, boas práticas de desenvolvimento e como interagir com a comunidade global do projeto.
Objetivo
Após realizar este Curso DSpace for Developers Extending and Contributing, você será capaz de:
- Compreender a arquitetura de software do DSpace
- Desenvolver extensões e módulos personalizados
- Criar endpoints REST e interações backend
- Contribuir para o repositório oficial do DSpace no GitHub
- Trabalhar de forma colaborativa com a comunidade global do DSpace
Publico Alvo
- Desenvolvedores Java interessados em repositórios digitais
- Equipes técnicas de bibliotecas e universidades
- Contribuintes open source
- Profissionais de TI que desejam personalizar e estender funcionalidades do DSpace
Pre-Requisitos
- Conhecimentos sólidos em Java
- Experiência com ferramentas de build como Maven
- Familiaridade com Git e versionamento de código
- Conhecimento básico de REST APIs e arquitetura web
Materiais
Inglês/Português/Lab PráticoConteúdo Programatico
Module 1 – DSpace Codebase and Architecture (3h)
- Overview of DSpace technologies (Java, Spring, Angular)
- Understanding the modular structure (Core, REST, UI)
- DSpace 7 architecture and services
- Developer tools and setup (Maven, IntelliJ, Git)
Module 2 – Building and Running DSpace from Source (3h)
- Cloning the repository and environment configuration
- Compilation with Maven
- Running backend and frontend independently
- Debugging and logs
Module 3 – Creating Custom Modules and Services (4h)
- Writing custom Java services
- Extending core logic
- Using dependency injection with Spring
- Managing events and listeners
Module 4 – Extending the REST API (4h)
- REST API overview and structure
- Creating new endpoints
- Input/output models and validation
- Security and access control in REST API
Module 5 – Customizing the Angular UI (3h)
- Angular UI structure and components
- Theming and UI modules
- Integrating new services and forms
- Building and deploying the UI
Module 6 – Contributing to the DSpace Community (3h)
- Community workflow and contribution guidelines
- GitHub pull requests and code reviews
- Coding standards and documentation
- Participating in mailing lists and forums
Module 7 – Testing and Best Practices (2h)
- Writing unit and integration tests
- Using Docker for testing and development
- Continuous integration and GitHub Actions
- Maintaining custom features across versions
Module 8 – Final Project: Custom Extension Development (2h)
- Hands-on coding: developing a real custom module or API
- Documenting the extension
- Feedback and evaluation by the instructor
- Next steps for real-world deployment