Skip to content

balearesg/nuba

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

42 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“š Nuba Santillana

Your Educational Library in the Cloud

Next.js TypeScript Tailwind CSS License pnpm

A modern educational content platform for Santillana, providing students and educators with access to digital books and educational resources.


πŸ“– Table of Contents


✨ Overview

Nuba Santillana is a web application that allows users to register, activate books using codes, and access digital educational content. The platform includes features similar to existing Santillana platforms (TuCLase/ValeSaber) with enhanced capabilities for content management and expiration handling.

Key Highlights:

  • πŸŽ“ Educational content management system
  • πŸ” Secure user authentication and authorization
  • πŸ“± Fully responsive mobile-first design
  • β™Ώ WCAG-compliant accessibility
  • 🎨 Modern UI following Santillana brand guidelines

πŸš€ Features

πŸ”‘ Core Functionality

Feature Description
πŸ‘€ User Registration & Authentication Secure user registration with email-based password recovery
πŸ“– Book Activation Code validation using the existing Claves Libros API
πŸ“š Active Books Listing Display of active books with beautiful cover images
🎬 Digital Content Access Support for multiple content formats:
β€’ πŸ“¦ ZIP (HTML packages)
β€’ πŸ“„ PDF documents
β€’ 🎡 MP3 audio files
β€’ πŸŽ₯ MP4 video files
πŸ—‚οΈ Content Sections Configurable sections that can be enabled/disabled from the backend
⏰ Expiration Management Flexible code expiration options:
β€’ ♾️ No expiration
β€’ πŸ“… Expires X days after activation
β€’ πŸŽ„ Expires on December 31st of the activation year
πŸ“Š Access Analytics User access tracking for:
β€’ πŸ“ˆ Access per user to each book
β€’ πŸ“‰ Access per user to each content item
πŸ› οΈ Content Management BackOffice Administrative interface for content management

🎨 User Experience

  • πŸ“± Responsive Design: Mobile-first, fully responsive UX
  • 🎨 Modern UI: Built with Tailwind CSS and following Santillana brand guidelines (Teal #00AEB6)
  • β™Ώ Accessibility: WCAG-compliant with proper semantic HTML and keyboard navigation

πŸ› οΈ Tech Stack

Category Technology Version
πŸš€ Framework Next.js (App Router) 14.2.5
πŸ’» Language TypeScript 5.4.5
🎨 Styling Tailwind CSS 3.4.10
πŸ“ Forms React Hook Form + Zod Latest
✨ Animations Framer Motion, GSAP Latest
🎯 Icons Lucide React Latest
πŸ“¦ Package Manager pnpm 9.0.0
πŸ—οΈ Architecture Monorepo (pnpm workspaces) -

πŸ“ Project Structure

nuba/
β”œβ”€β”€ πŸ“¦ packages/
β”‚   └── 🌐 web/                    # Next.js web application
β”‚       β”œβ”€β”€ πŸ“± app/                # App Router pages and layouts
β”‚       β”‚   β”œβ”€β”€ πŸ‘¨β€πŸ’Ό (admin)/        # Admin routes
β”‚       β”‚   β”œβ”€β”€ πŸ” (app)/          # Authenticated user routes
β”‚       β”‚   β”œβ”€β”€ πŸ”‘ (auth)/         # Authentication routes
β”‚       β”‚   └── 🌍 (public)/       # Public routes
β”‚       β”œβ”€β”€ 🧩 components/         # React components
β”‚       β”‚   β”œβ”€β”€ πŸ” auth/           # Authentication components
β”‚       β”‚   β”œβ”€β”€ πŸ“š books/          # Book-related components
β”‚       β”‚   β”œβ”€β”€ 🏠 site/           # Site-wide components
β”‚       β”‚   └── 🎨 ui/             # UI primitives
β”‚       β”œβ”€β”€ πŸ› οΈ lib/                # Utilities and helpers
β”‚       β”œβ”€β”€ πŸ“‚ public/             # Static assets
β”‚       └── πŸ“§ templates/          # Email templates
β”œβ”€β”€ πŸ“„ package.json                # Root package.json
└── βš™οΈ pnpm-workspace.yaml         # Workspace configuration

βš™οΈ Prerequisites

Before you begin, ensure you have the following installed:

Requirement Version Installation
🟒 Node.js 18.x or higher Download
πŸ“¦ pnpm 9.0.0 or higher npm install -g pnpm@9.0.0

πŸ“¦ Installation

Step 1: Clone the repository

git clone <repository-url>
cd nuba

Step 2: Install dependencies

pnpm install

πŸ’‘ This will install dependencies for both the root workspace and the packages/web package.

πŸ’» Development

πŸš€ Starting the Development Server

Option 1: From the root directory (Recommended)

pnpm dev

Option 2: Navigate to the web package

cd packages/web
pnpm dev

🌐 The application will be available at http://localhost:3000

πŸ“œ Available Scripts

From Root Directory

Command Description
pnpm dev πŸš€ Start the development server
pnpm build πŸ—οΈ Build the application for production
pnpm start ▢️ Start the production server (requires build first)
pnpm lint πŸ” Run ESLint

From packages/web

Command Description
pnpm dev πŸš€ Start the development server
pnpm build πŸ—οΈ Build for production
pnpm start ▢️ Start production server
pnpm lint πŸ” Run linting

πŸ” Environment Variables

Create a .env.local file in packages/web/ with the necessary environment variables.

⚠️ Note: Check with the team for required configuration values.

Example structure:

# .env.local
NEXT_PUBLIC_API_URL=your_api_url
DATABASE_URL=your_database_url
# ... other variables

πŸ—οΈ Building for Production

Step 1: Build the application

pnpm build

Step 2: Start the production server

pnpm start

βœ… Your production-ready application will be running!

πŸ“ Architecture Guidelines

This project follows strict architectural guidelines documented in nested agents.md files:

Principle Description
πŸ–₯️ Server Components First Prefer Server Components; use "use client" only for interactive leaves
πŸ”„ Server Actions All mutations via Server Actions (no API routes)
πŸ“˜ TypeScript Strict typing with explicit interfaces for domain entities
🎨 Styling Tailwind CSS with brand colors (Teal #00AEB6, hover #00959C) and 16px border radius
β™Ώ Accessibility Focus-visible, proper labels, semantic HTML

πŸ“š Documentation Files

  • πŸ“„ agents.md - Root architecture overview
  • 🌐 packages/web/agents.md - Web app standards
  • πŸ›£οΈ packages/web/app/agents.md - Routing and component patterns
  • 🧩 packages/web/components/agents.md - Component patterns

🎨 Design Resources

Resource Link
πŸ“± Figma Prototype (Mobile) View Prototype
🎨 Figma Design File View Design

πŸ“„ License

MIT License - Copyright (c) 2025 Baleares Group

License: MIT

πŸ’¬ Support

For questions or issues, please contact the development team.

Made with ❀️ by Baleares Group

⬆ Back to Top

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages