Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/danielpose1996-stack/ruedadeproyectos/llms.txt

Use this file to discover all available pages before exploring further.

Get your RuedaPro UNIPAZ platform deployed and ready to manage engineering project evaluations in just a few steps.

Prerequisites

Before you begin, ensure you have:
  • A Supabase account (free tier works)
  • Basic knowledge of JavaScript and HTML
  • A web hosting solution (Netlify, Vercel, or any static host)

Setup Process

1

Clone the Repository

Clone the RuedaPro UNIPAZ repository to your local machine:
git clone https://github.com/danielpose1996-stack/ruedadeproyectos.git
cd ruedadeproyectos
2

Create Supabase Project

  1. Go to supabase.com and create a new project
  2. Wait for your database to be provisioned (takes ~2 minutes)
  3. Navigate to Project Settings > API to find your credentials
3

Configure Supabase Connection

Open js/config.js and replace the placeholder values with your Supabase credentials:
js/config.js
const SUPABASE_URL = 'https://your-project.supabase.co';
const SUPABASE_ANON_KEY = 'your-anon-key-here';

let supabaseClient = null;

if (window.supabase) {
    supabaseClient = window.supabase.createClient(SUPABASE_URL, SUPABASE_ANON_KEY);
}
Keep your SUPABASE_ANON_KEY secure. Never commit real credentials to public repositories.
4

Set Up Database Schema

Execute the Row Level Security (RLS) policies to secure your database:
  1. Open your Supabase project dashboard
  2. Navigate to SQL Editor
  3. Run the security hardening script:
sql/rls_security_hardening.sql
-- Restricciones en tabla 'perfiles'
DROP POLICY IF EXISTS "Public read perfiles" ON public.perfiles;

-- Authenticated users can view profiles
CREATE POLICY "Authenticated read perfiles" ON public.perfiles 
FOR SELECT 
TO authenticated 
USING (true);

-- Public users can only read evaluated student profiles
CREATE POLICY "Public read evaluated estudiantes" ON public.perfiles 
FOR SELECT 
TO anon
USING (
    EXISTS (
        SELECT 1 FROM public.proyecto_estudiantes pe
        JOIN public.proyectos p ON p.id = pe.proyecto_id
        WHERE pe.estudiante_id = perfiles.id
        AND p.estado = 'Evaluado'
    )
);
RLS policies ensure that anonymous users can only view data for evaluated projects, protecting student and evaluation data during the judging process.
5

Deploy Your Application

Deploy the static site to your preferred hosting platform:
# Install Netlify CLI
npm install -g netlify-cli

# Deploy
netlify deploy --prod
6

Create Your First Admin User

Create the initial administrator account directly in Supabase:
  1. Go to Authentication > Users in your Supabase dashboard
  2. Click Add User and fill in:
    • Email: admin@unipaz.edu.co
    • Password: Choose a strong password
    • User Metadata: Add the following JSON:
{
  "nombre": "Administrator",
  "rol": "admin"
}
  1. Confirm email verification (or disable it in Auth settings for testing)

Verify Installation

Once deployed, test your installation:
  1. Navigate to your site URL
  2. Click “Ingreso Admin” (Admin Login)
  3. Log in with your admin credentials
  4. You should see the admin dashboard with options to:
    • Create docente (professor) accounts
    • Create estudiante (student) accounts
    • Register projects

Security Considerations

RuedaPro UNIPAZ includes built-in XSS protection through the escapeHTML() function:
js/config.js
function escapeHTML(str) {
    if (typeof str !== 'string') return str;
    return str
        .replace(/&/g, '&')
        .replace(/</g, '&lt;')
        .replace(/>/g, '&gt;')
        .replace(/"/g, '&quot;')
        .replace(/'/g, '&#039;');
}
All user-generated content is sanitized before rendering.

Next Steps

Your RuedaPro UNIPAZ platform is now ready! Continue with:

User Management

Learn how to create and manage professors and students

Project Setup

Set up projects and assign evaluators

Evaluation Process

Understand the rubric-based evaluation workflow

Deploy Guide

Advanced deployment configurations

Need Help?

If you encounter issues during setup:
  • Check that your Supabase URL and key are correct
  • Verify RLS policies are applied correctly
  • Ensure the Supabase JavaScript library is loading (check browser console)
  • Confirm your database tables are created
For detailed troubleshooting, see the Deployment Guide.

Build docs developers (and LLMs) love