项目作者: Javieratapiab

项目描述 :
Laboratorio 1: Paradigma funcional (Scheme)
高级语言: Racket
项目地址: git://github.com/Javieratapiab/lab1-racket-functional-paradigm.git


Laboratorio paradigmas: Stackoverflow

Se presenta proyecto semestral de laboratorio de la asignatura “Paradigmas de programación” de la Universidad Santiago de Chile, que consta en la creación de un clon de la aplicación Stackoverflow en el lenguaje Scheme, que consolida los conocimientos del paradigma funcional.

Autora

Características

Construcción de TDAs

Abstracción Contexto Características (Qué)
Stack Estructura base que funciona como contenedor de usuarios, preguntas, recompensas,
respuestas y búsqueda.
Lista de listas que se encarga de contener una serie de estructuras (del tipo lista),
tales como: usuarios, preguntas, recompensas, respuestas y búsqueda dentro de la plataforma.
Usuario (User) Persona que publica, edita y elimina tanto preguntas como respuestas,
ofrece recompensas, vota, reporta, entre otros.
- Lista que posee credenciales de acceso y reputación
- Ofrece reputación, pregunta y responde, da ranking, etc. dentro de la plataforma.
Pregunta (Question) Enunciado interrogativo realizado por un usuario sobre diversas
tecnologías relacionadas a la ingeniería de software en la plataforma.
- Lista que puede ser editada, modificada y eliminada.
- Es creada por un usuario y recibe ranking por medio del mismo.
- Posee textos con formato (negrita, cursiva) imágenes, enlaces y código
- Posee un ID, votaciones (positivas y negativas), visualizaciones,
etiquetas, título, contenido, fecha de publicación, fecha de última modificación , etc.
- Es referenciada por una respuesta a través de su ID.
Respuesta (Answer) Enunciado que responde a una pregunta realizada por un usuario
sobre diversas tecnologías relacionadas a la ingeniería de software en la plataforma
- Lista que recibe ranking y referencia una pregunta.
- Es creada por un usuario, quien puede recibir una bonificación (reputación) si esta es aceptada.
- Posee un autor (usuario), fecha de publicación, votos (favor y contra), estado de aceptación (sí/no),
reportes de ofensa y categorías (mejor respuesta, peor respuesta, etc).
Recompensa (Reward) Bonificación que genera un usuario y que compensa
la utilidad de una pregunta dentro de la plataforma.
- Lista que posee una descripción, id de pregunta y usuario que la otorgó.
- Bonifica una pregunta y posee diversas reglas en su aplicación.
Búsqueda (Search) Motor de búsqueda dentro de la plataforma que resulta de utilidad para encontrar información rápidamente
por medio de una coincidencia parcial de texto.
- Búsqueda por etiqueta (entre corchetes)
- Búsqueda palabra exacta (entre comillas)
- Búsqueda por cantidad de respuestas (answers: numero_x)
- Búsqueda por puntaje (score: numero_x)

Instrucciones de uso

  • Instalación de DrRacket (https://download.racket-lang.org/) en máquina local.
  • Correr la aplicación y abrir archivo lab_git_18005106_TapiaBobadilla_main.rkt, donde se ubican los casos pruebas.
  • Clickear en botón RUN, esquina superior derecha del IDE.

Características del laboratorio