Introducció
En aquest mòdul final, aplicaràs tots els coneixements adquirits al llarg del curs per desenvolupar un projecte complet en Go. Aquest projecte servirà com a demostració pràctica de les teves habilitats i et proporcionarà una experiència real en el desenvolupament d'una aplicació des de zero fins al desplegament.
Objectius del Projecte
Els objectius principals d'aquest projecte són:
- Aplicar Conceptes Bàsics i Avançats de Go: Utilitzaràs variables, funcions, estructures de dades, gestió d'errors, concurrència, interfícies, i altres conceptes que has après.
- Desenvolupament Web: Construiràs un servidor web, implementaràs enrutament, middleware i treballaràs amb plantilles.
- Interacció amb Bases de Dades: Connectaràs a una base de dades, realitzaràs operacions CRUD i utilitzaràs un ORM.
- Desplegament i Manteniment: Construiràs i desplegaràs l'aplicació, implementant pràctiques de registre, monitorització i seguretat.
Descripció del Projecte
Aplicació de Gestió de Tasques
Desenvoluparàs una aplicació web de gestió de tasques que permetrà als usuaris crear, llegir, actualitzar i eliminar tasques. L'aplicació tindrà les següents funcionalitats:
- Autenticació d'Usuaris: Els usuaris podran registrar-se i iniciar sessió.
- Gestió de Tasques: Els usuaris podran crear, veure, editar i eliminar tasques.
- Filtratge i Ordenació: Les tasques es podran filtrar i ordenar per diferents criteris (data, prioritat, etc.).
- Interfície d'Usuari: Utilitzaràs plantilles HTML per crear una interfície d'usuari amigable.
Estructura del Projecte
Backend
- Servidor Web: Utilitzaràs el paquet
net/http
per construir el servidor web. - Enrutament: Implementaràs enrutament per gestionar diferents rutes de l'aplicació.
- Middleware: Crearàs middleware per gestionar l'autenticació i altres funcionalitats.
- Gestió de Tasques: Implementaràs les operacions CRUD per les tasques.
- Base de Dades: Utilitzaràs una base de dades SQL (com PostgreSQL) per emmagatzemar les dades dels usuaris i les tasques.
Frontend
- Plantilles HTML: Utilitzaràs plantilles HTML per generar les pàgines web.
- CSS i JavaScript: Pots utilitzar CSS per estilitzar les pàgines i JavaScript per afegir interactivitat.
Requisits del Projecte
Tecnologies
- Go: Llenguatge de programació principal.
- PostgreSQL: Base de dades relacional.
- HTML/CSS/JavaScript: Per al frontend.
- Docker: Per a la contenedorizació i desplegament de l'aplicació.
Estructura de Directori
task-manager/ ├── cmd/ │ └── main.go ├── internal/ │ ├── auth/ │ ├── handlers/ │ ├── models/ │ └── db/ ├── web/ │ ├── templates/ │ ├── static/ │ └── css/ ├── Dockerfile ├── go.mod └── go.sum
Funcionalitats Detallades
-
Autenticació d'Usuaris:
- Registre d'usuaris.
- Inici de sessió.
- Middleware per protegir rutes.
-
Gestió de Tasques:
- Crear una nova tasca.
- Veure totes les tasques.
- Editar una tasca existent.
- Eliminar una tasca.
-
Filtratge i Ordenació:
- Filtrar tasques per data de creació, data de venciment, prioritat, etc.
- Ordenar tasques per criteris específics.
-
Interfície d'Usuari:
- Pàgina de registre i inici de sessió.
- Pàgina principal amb la llista de tasques.
- Formulari per crear i editar tasques.
Planificació del Projecte
Fases del Projecte
- Planificació: Definir els requisits i l'arquitectura del projecte.
- Desenvolupament: Implementar les funcionalitats del backend i frontend.
- Proves: Escriure i executar proves per assegurar la qualitat del codi.
- Desplegament: Construir i desplegar l'aplicació en un entorn de producció.
Timeline
Fase | Durada Estimada |
---|---|
Planificació | 1 setmana |
Desenvolupament | 4 setmanes |
Proves | 1 setmana |
Desplegament | 1 setmana |
Conclusió
Aquest projecte final és una oportunitat per consolidar els teus coneixements i demostrar les teves habilitats en Go. A mesura que avancis en el desenvolupament, trobaràs reptes que et permetran aprofundir en els conceptes apresos i adquirir experiència pràctica valuosa. Estàs preparat per començar? Endavant!
Curs de Programació en Go
Mòdul 1: Introducció a Go
- Introducció a Go
- Configuració de l'Entorn Go
- El Teu Primer Programa en Go
- Sintaxi i Estructura Bàsiques
Mòdul 2: Conceptes Bàsics
Mòdul 3: Estructures de Dades Avançades
Mòdul 4: Gestió d'Errors
Mòdul 5: Concurrència
Mòdul 6: Temes Avançats
Mòdul 7: Desenvolupament Web amb Go
Mòdul 8: Treballant amb Bases de Dades
Mòdul 9: Desplegament i Manteniment
- Construcció i Desplegament d'Aplicacions Go
- Registre
- Monitorització i Optimització del Rendiment
- Millors Pràctiques de Seguretat