Introducció
El projecte final del curs de Programació en Python és una oportunitat per aplicar tots els coneixements adquirits al llarg dels diferents mòduls. Aquest projecte està dissenyat per ser un repte complet que abasti des de la planificació i el disseny fins a la implementació, les proves i la presentació final. L'objectiu és crear una aplicació funcional que demostri la vostra capacitat per utilitzar Python de manera efectiva en un context real.
Objectius del Projecte
- Aplicar Coneixements: Utilitzar els conceptes i tècniques apreses durant el curs.
- Desenvolupar una Aplicació Completa: Crear una aplicació que inclogui una interfície d'usuari, una lògica de negoci i una gestió de dades.
- Demostrar Competències: Mostrar habilitats en programació, depuració, proves i documentació.
- Col·laboració: Si es treballa en grup, fomentar la col·laboració i el treball en equip.
Descripció del Projecte
El projecte consisteix en desenvolupar una aplicació web que permeti als usuaris gestionar una biblioteca personal de llibres. L'aplicació ha de permetre les següents funcionalitats:
- Registrar-se i Iniciar Sessió: Els usuaris han de poder crear un compte i iniciar sessió.
- Afegir Llibres: Els usuaris poden afegir llibres a la seva biblioteca personal.
- Editar i Eliminar Llibres: Els usuaris poden editar la informació dels llibres o eliminar-los.
- Visualitzar Llibres: Els usuaris poden veure una llista dels llibres de la seva biblioteca.
- Cercar Llibres: Els usuaris poden cercar llibres per títol, autor o gènere.
Requisits Tècnics
Tecnologies a Utilitzar
- Backend: Python amb Flask o Django.
- Frontend: HTML, CSS, JavaScript (opcionalment, utilitzar un framework com React o Vue.js).
- Base de Dades: SQLite, PostgreSQL o MySQL.
- Autenticació: Utilitzar llibreries com Flask-Login per a Flask o el sistema d'autenticació integrat de Django.
- API REST: Crear endpoints per a les operacions CRUD (Create, Read, Update, Delete).
Estructura del Projecte
-
Configuració del Projecte:
- Crear un entorn virtual.
- Instal·lar les dependències necessàries.
- Configurar la base de dades.
-
Autenticació d'Usuaris:
- Implementar el registre i inici de sessió.
- Gestionar sessions d'usuari.
-
Gestió de Llibres:
- Crear models per als llibres.
- Implementar les operacions CRUD.
-
Interfície d'Usuari:
- Dissenyar i implementar les pàgines web.
- Integrar el frontend amb el backend.
-
Proves i Depuració:
- Escriure proves unitàries i d'integració.
- Depurar l'aplicació per assegurar-ne el correcte funcionament.
Requisits de Documentació
- Documentació del Codi: Comentaris i docstrings per explicar les funcions i classes.
- Manual d'Usuari: Guia per als usuaris sobre com utilitzar l'aplicació.
- Informe del Projecte: Descripció del projecte, decisions de disseny, reptes trobats i solucions implementades.
Criteris d'Avaluació
El projecte serà avaluat en base als següents criteris:
- Funcionalitat: L'aplicació compleix amb tots els requisits funcionals especificats.
- Qualitat del Codi: El codi és net, ben organitzat i documentat.
- Interfície d'Usuari: La interfície és intuïtiva i fàcil d'utilitzar.
- Proves: Hi ha proves suficients per garantir la qualitat del codi.
- Documentació: La documentació és completa i clara.
Consells i Bones Pràctiques
- Planificació: Dedica temps a planificar l'estructura del projecte abans de començar a codificar.
- Versió de Control: Utilitza Git per gestionar les versions del teu codi.
- Modularitat: Escriu codi modular per facilitar la mantenibilitat i les proves.
- Depuració: Utilitza eines de depuració per identificar i corregir errors.
- Proves: Escriu proves des del principi per assegurar-te que el codi funciona correctament.
Conclusió
Aquest projecte final és una oportunitat per demostrar tot el que has après durant el curs. Pren-te el temps necessari per planificar, implementar i provar la teva aplicació. Recorda que la qualitat del codi i la documentació són tan importants com la funcionalitat de l'aplicació. Bona sort!
Curs de Programació en Python
Mòdul 1: Introducció a Python
- Introducció a Python
- Configuració de l'Entorn de Desenvolupament
- Sintaxi de Python i Tipus de Dades Bàsics
- Variables i Constants
- Entrada i Sortida Bàsiques
Mòdul 2: Estructures de Control
Mòdul 3: Funcions i Mòduls
- Definició de Funcions
- Arguments de Funció
- Funcions Lambda
- Mòduls i Paquets
- Visió General de la Biblioteca Estàndard
Mòdul 4: Estructures de Dades
Mòdul 5: Programació Orientada a Objectes
Mòdul 6: Gestió de Fitxers
- Lectura i Escriptura de Fitxers
- Treballant amb Fitxers CSV
- Gestió de Dades JSON
- Operacions amb Fitxers i Directoris
Mòdul 7: Gestió d'Errors i Excepcions
Mòdul 8: Temes Avançats
- Decoradors
- Generadors
- Gestors de Context
- Concurrència: Fils i Processos
- Asyncio per a Programació Asíncrona
Mòdul 9: Proves i Depuració
- Introducció a les Proves
- Proves Unitàries amb unittest
- Desenvolupament Guiat per Proves
- Tècniques de Depuració
- Ús de pdb per a la Depuració
Mòdul 10: Desenvolupament Web amb Python
- Introducció al Desenvolupament Web
- Conceptes Bàsics del Framework Flask
- Construcció d'APIs REST amb Flask
- Introducció a Django
- Construcció d'Aplicacions Web amb Django
Mòdul 11: Ciència de Dades amb Python
- Introducció a la Ciència de Dades
- NumPy per al Càlcul Numèric
- Pandas per a la Manipulació de Dades
- Matplotlib per a la Visualització de Dades
- Introducció al Machine Learning amb scikit-learn