By the end of this guide you will have a fully live GOAT Portfolio: a verified account, at least one project on record, and a public URL ready to share. The whole process takes about five minutes if your backend is already running.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/giangartun/Tis-GOAT-Frontend/llms.txt
Use this file to discover all available pages before exploring further.
Before you begin, make sure the
VITE_API_URL environment variable in your
.env file points to your running backend. The frontend’s Axios client and
Vite dev-server proxy both depend on this value. See
Configuration for details.Register an account
Create a new user account by sending a
On success you will receive a
POST request to
/api/usuario/pre-registro. The backend will create the account in a
pending verification state and send a confirmation email.Required fields| Field | Type | Rules |
|---|---|---|
nombre | string | Letters only, no numbers or special characters |
apellido_paterno | string | Letters only |
apellido_materno | string | Letters only |
email | string | Valid email address, must be unique |
contrasena | string | Minimum 6 characters |
contrasena_confirmation | string | Must match contrasena exactly |
201 Created response confirming the account
was created and the verification email was dispatched.Verify your email
Check your inbox for the verification email sent in Step 1. Click the link
inside; it will call:The
:token is a unique, time-limited string embedded in the link by the
backend. On the frontend, this route is handled by the <VerificarEmail />
page component (/verificar-email/:token).Once the token is validated server-side, your account status changes to
active and the app redirects you to /login so you can sign in for the
first time.If you do not receive the email within a few minutes, check your spam
folder. Verification links expire after a set period — if yours has
expired, contact your platform administrator to resend it.
Log in
Authenticate with your email and password to receive a JWT Bearer token.A successful response returns (among other fields) a Store both values — the frontend Axios interceptor reads You will need
token and your
id_portafolio:token from
localStorage (localStorage.setItem("token", response.token)) and
attaches it automatically to every subsequent request as:id_portafolio in the next step.Add your first project
With your token in hand, create a project linked to your portfolio.Required fields
The project will appear immediately on your portfolio’s My Projects
page (
| Field | Type | Description |
|---|---|---|
id_portafolio | integer | Your portfolio ID from Step 3 |
nombre | string | Project display name |
descripcion | string | Short description shown on your portfolio |
fecha_ini | string | Start date in YYYY-MM-DD format |
tecnologias[] | array (optional) | Technology tags, e.g. ["React", "TypeScript"] |
/mis-proyectos) once the frontend re-fetches data.Choose a template and go live
Select the visual layout for your public portfolio by patching the
Your portfolio is now live. Visitors can view it at the public profile
endpoint — share the link from your dashboard or from the
id_plantilla field. There are three templates available:id_plantilla | Template name | Style |
|---|---|---|
1 | Bento | Grid-based, magazine-style layout |
2 | Sidebar | Two-column layout with persistent side navigation |
3 | Editorial | Clean, content-first vertical layout |
/perfil-publico/:id route, where :id is your portfolio ID.You can switch templates at any time from the Customise Portfolio
page (
/personalizacion-portafolio) without losing any of your content.
Changes take effect immediately on your public URL.What’s next?
Now that your portfolio is live, explore these topics to get the most out of GOAT Portfolio:Add skills & links
Navigate to
/habilidades and /enlaces to enrich your portfolio with
technology skills and social/professional links.Configure privacy
Use the Privacy page (
/privacidad) to control exactly who can view your
portfolio — public, link-only, or private.Authentication deep-dive
Learn about password reset, token expiry handling, and protecting
client-side routes with route guards.
API reference
Full reference for every endpoint: request/response shapes, validation
rules, and HTTP status codes.