Skip to content

Javieratapiab/lab3-java-object-oriented-paradigm

Repository files navigation

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 Java, que consolida los conocimientos del paradigma orientado a objetos.

Autora

Características

  • Paradigma: Orientado a objetos
  • Lenguage: Java (https://docs.oracle.com/en/java/), OpenJDK versión 11
  • Intérprete: IntelliJ IDEA Community 2020.3
  • Compilador: Gradle

Ambiente de desarrollo:

  • El ambiente de desarrollo donde se ejecutó el entregable corresponde a macOS 10.15 Catalina
  • Versión exacta de JDK: OpenJDK versión 11

Construcción de TDAs

Abstracción Contexto Características (Qué)
Stack Estructura base que funciona como contenedor de usuarios, preguntas, y etiquetas. 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.
Auth Interface que setea las principales operaciones de auth como register, login y logout. - Directiva que fija comportamientos de autenticación en la declaración de sus métodos.

Instrucciones de compilación

  • Comando para correr compilador Gradle en terminal: ./gradlew run

Características del laboratorio

About

Laboratorio 3: Paradigma Orientado a Objetos (Java)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages