What are the best approaches for building a new social media web app in 2020?

  1. Objective– To build a social networking website for a a very specific purpose. Registered users get to post videos, images and text content on the website. On the dashboard of the website, a user gets a feed of posts based on the topics they are subscribed to.

  2. Progress Made– I have adopted MERN stack for building the web app. With the help of some online tutorials, I have been able to build a basic social media app on which a user can register, login, create profile, view profiles, post content, react to posts.

  3. Problem– I need to incorporate the functionality allowing registered users to upload media content, both images and videos. I cannot use the database for storing those content but will probably require more storage space. The following are the options I am considering and the issues I have with those options,

  • Using YouTube for hosting the videos: Create a google account specifically for the website and allow users to upload videos directly into the associated YouTube channel. Even after spending two weeks researching on how to do it, I am still struggling to upload a video using YouTube API from my backend. Also, I want to enable a user logged in my web page to be able to post the content without having to log in to YouTube. I am not sure if that is possible. Further, if there happens to be any violation of YouTube policy due to some content a random user uploads from my website, the channel might get suspended. Is there a work around for these issues?
  • If I continue using YouTube for hosting the videos, should I use some other cloud storage for storing the images?
  • Should I opt some other cloud services like Amazon S3 to host the images and videos instead of using YouTube? What will be the approach to go ahead if I intend to scale in the future?
  • Due to mere ignorance, I might also be overlooking some of the aspects that I should be considering before choosing an option.

I tried finding some guidance on these from my inner circle, very few of whom has significant development experience. I am hoping more experienced community members will be able to shed some light on these.

coding style – Which approaches are exists for using of possessive case in variables/classes/methods naming?

In variables/classes/methods naming, sometimes “of” preposition is omitted and word order changing, for example:

“Absolute path of source file of entry point” -> “entryPointSourceFileAbsolutePath”

Now I am considering the renaming of above variable to:

absolutePathOfSourceFileOfEntryPoints

Which other approaches exists for using of possessive case in variables/classes/methods naming?
And also, what the spread of approach with omitting of “of” preposition and word order changing, like “entryPointSourceFileAbsolutePath”?

ux designer – What are the best approaches to a UX project?

I read that “a good designer knows that each project will need a uniquely considered approach and tools” and a bad designer will have “a cookie-cutter set of tools that they believe work for every project”.

My question is, how do you know what the best approach and tools are for each project?

I understand the different approaches you can take towards a project but from what I have found, there is very limited information discussing how you choose the best approach for right project.

ux designer – Where to find info on the different approaches to a project

I read that “a good designer knows that each project will need a uniquely considered approach and tools” and a bad designer will have “a cookie-cutter set of tools that they believe work for every project”.

My question is, what resources are available to learn which approach and tools are the best for each project?

I understand the different approaches you can take towards a project but from what I have found, there is very limited information discussing how you choose the best approach for right project.

ux designer – The different approaches to a project

I read that “a good designer knows that each project will need a uniquely considered approach and tools” and a bad designer will have “a cookie-cutter set of tools that they believe work for every project”.

My question is, what resources are available to learn which approach and tools are the best for each project?

I understand the different approaches you can take towards a project but from what I have found, there is very limited information discussing how you choose the best approach for right project.

game design – Approaches on 2D top-down track racing visualisation

I’m considering writing a very simple management style game with the theme being motorsport racing.

I’ve got a good idea how to do the ‘management side’, but the issue I’m having is how to visually render cars and move on a track (something a bit like):

enter image description here

The key points (keeping it simple):

  • the user won’t control the vehicle directly, they are the ‘manager’ (think football manager) – they can decide on a strategy but cannot control the vehicle
  • the car should stay on track (visually) – they may ‘crash’ (along with other events) though
  • the speed it goes around the track is determined by vehicle performance
  • a car will be aware of other near-by cars around the track – for example, if they’re about to be overtaken, they may actually do a slower lap as they are defending – they may collide, along with other events

My initial thoughts are there are two key design elements here, the track and the car.

The track:

  • a track is composed of many segments
  • each segment is stored in an array
  • a segment (I’m not entirely sure here) but one thing it might contain is a 2D array:

(From (this)(https://gamedev.stackexchange.com/questions/149966/approaches-on-2d-top-view-racing-game-track-design) answer gave an approach of using multi-dimensional arrays)
_ _ _ _ _ _ _ _ _ _
| d d x x x d d d |
| d d r r r d d d |
| d d r r r d d d |
| d d r r r d d d |
| d d r r r d d d |
| d d r r r d d d |
| d d r r r d d d |
| d d e e e d d d |
| _ _ _ _ _ _ _ _ |

_ _ _ _ _ _ _ _ _ _
| d d x x x d d d |
| d d r r r d d d |
| d d d r r r d d |
| d d d d r r r e |
| d d d d r r r e |
| d d d d d d r e |
| d d d d d d d d |
| d d d d d d d d |
| _ _ _ _ _ _ _ _ |

Above is a straight and a 90 degree corner – x exit, e entry, r racetrack and d dirt. Maybe I could create a bunch of these and create a track.

Or maybe a simpler version where I define just an entry and exit:

_ _ _ _ _
| d e d |
| d r d |
| d e d |
| _ _ _ |

_ _ _ _ _
| d x d |
| d r e |
| d d d |
| _ _ _ |

The simplified version where I define an entry e and exit x. I can add additional points r and then construct a curve/straight-line based on the x, e and r coordinates?

My idea is that the vehicle will then move across each segment and I can calculate the time it takes to complete that segment. I can then add up all segments which will give me the lap time. With this approach, I can also check the previous/current/next segment to determine if there are other vehicles it needs to defend/attack against.

The car:

  • store all vehicles in an array
  • each vehicle will always be in a segment
  • speed it completes the segment is determined by its performance (and segment characteristics)
  • vehicle can ‘see’ if there are other vehicles in previous/current/next segment and decide whether to overtake/defend.

I think I could make this work, but I’d be really interested to know if there are better/simpler approach – bearing in mind it’s mostly a visualization and the speed and events are determined by my program.

paragraphs – Drupal 8 rest api – approaches for multi-field values

I am using the Drupal 8 rest api to post content to a custom content type. I have a use case in which I need to post multiple values to a single mutli-value field. If someone can show me how to do this it would negate my question.

As an alternative, I believe I could use the paragraphs module to create a fieldset within my content type. I am writing to ask if someone can give me an example of how to post (or patch) my multiple values to the paragraph fieldset.

I should add that I do not know in advance how many values I will have in my multi-value dataset; it will vary by node. Its for that reason that I think either a multi-value field or a paragraphs fieldset might suit better than just creating additional fields in the content type.

domain driven design – DDD: Viable approaches to integrating with external systems (Adapters, ACLs, Bounded Contexts)

Our team have been debating approaches to integrating external or third party systems when using DDD. The literature is extensive, but sometimes contradictory. Just like a UL helps us better understand and communicate about the domain, we wanted to do a better job of defining the different approaches, and when we might use each? We are not experts, so would be interested in any insights or feedback the community might have, and confirmation we are on the right track.

When integrating with a third-party technology, we identifier three different approaches we have used in the past: Adapters (specifically in regards to the Ports & Adapters Pattern), Anti-Corruption Layer and Bounded Contexts.

Acknowledging that there is overlap between each concept, we defined the following team guidelines:

  • An external system is always a separate bounded context — by its nature, the solution will use a different language to that of our domain.

When deciding how to integrate, use the following guidance:

  • Adapter: When the technology or interface with the external or third-party system is relatively stable, and any data translation required is minimal, or automated, use a basic port and adapter. If the service is integral to the domain model, provide an interface in the domain (as a domain service). Otherwise call directly from the Application layer. This is analogous to what is sometimes referred to as the infrastructure layer. Also referred to as a gateway. Examples include Repositories, Payment Gateways etc

  • Anti-corruption Layer: If the translation required is more complex in nature, or there is a high level of impedance between your context, and the third-party service, implement an ACL in your bounded context. This will include Adapter(s), and specialised Translation services for performing the complicated data transpositions needed. The ACL may provide a facade to set of more complex services provided by the external system. All communication with the ACL happens in the language of the bounded context. The ACL should limit itself to data translations.

  • Bounded Contexts: If you are looking to expand on the functionality of the third party service then create your own bounded context that wraps the external system, and adds to the feature set. Communication with this bounded context can still happen via an adapter or ACL. Or integration may now be achieved through messaging — your new bounded context can have its own adapter for publishing and consuming messages to and from other contexts.

Does anyone have any constructive feedback or critical ideas that they think would help improve our definitions. Or spots something that is incorrect or problematic?

information architecture – UX Approaches to Competitive Analysis for a University Branding/Communications Toolkit Website?

I’m being asked to do a “competitive analysis” for a university website that has communications and brand guidelines/resources. This is meant at as a solo project done in a few days, I don’t have many resources at hand at the moment so user testing is out of the question.

The request was very broad and I was thinking of comparing our toolkit against other university’s brand toolkits. Taking an initial look, the information architecture & site map could use some work…

What are some UX approaches/considerations I should take into account when reviewing our website and comparing it against other universities?