Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/maxogod/functionality-of-a-social-media-platform


https://github.com/maxogod/functionality-of-a-social-media-platform

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

        

Functionality of a social media platform


Project written in spanish -- Proyecto escrito en español


Informe Español.


This documentantion was writen for this little project



AlgoGram Documentation




~Introduction


This documentation page is for FreeCodeCamp's responsive web design
curriculum; It is in English even though the mentioned repository is
in Spanish.



AlgoGram is basically a very basic infrastructure of a social media
platform, it's real purpose was to practice usage of several
data-structures listed below.




~How to use


In order to run this aplication you will need to execute the following
command in the terminal:


./algogram <txt file containing the users of the app>


~Commands

All the executable commands during stdin are:


login Logs a user in (wow)


login <user-name>

logout Logs the user that's currently logged in


logout

publicar Posts a new message


publicar <post-text>

ver_siguiente_feed Shows the user the next post in the feed


ver_siguiente_feed

likear_post Likes a post based on it's id


likear_post <post-id>

mostrar_likes Shows the list of people who liked a certain post


mostrar_likes <post-id>


~Used data structures

Data structures that were used in this project are:


  • Priority queue for the feed

  • Hashmaps for the posts in order to get them by id's and same goes for the users

  • Binary search tree to save the list of people who liked a post in alfabetic order





~New data types

New data types that were implemented are just two:


  • Users data type

  • Posts data type


both have a fitting behavior