My Pet Republic

Introduction

This project focuses on building a web application for a social media designed to enable pet lovers around the world to connect with each other through creating and sharing content in the form of posts.

Methods

  • Text Editor

We will be using Atom for back-end programming and WebStorm for the frontend programming.

  1. Back-end Framework: Laravel
  2. Front-end Framework: Angular 5
  3. Search Plugin: Algolia
  • Architecture

This system will be built based on microservices architecture as it enables the continuous delivery/ deployment of the system. Since this application is rather large and complex, this architecture is the right one to use. Micro-services architecture also allows us to evolve our application’s technology stack.

  • Rendering

For rendering our web page, we will be adopting the concept of Client Side Rendering. Our application will be a Single-Page Application that loads a single HTML page and dynamically update the page as the user interacts with the application. This allows us to create fluid and responsive application without constant page reload.

  • Virtual Servers

For deployment, we will be using Digital Ocean to provide us a cloud computing platform of virtual servers or Droplets.

Features

  • User will be able to create an account (Sign-up) and login.
  • User will be able to create/delete/modify multiple pet profiles.
  • Each user’s pet will be able to post pictures, alongside with caption and location and timestamp.
  • All users will be able to comment on/like/ unlike any posts.
  • The owner of the post will be able to modify/delete their posts and also any comments on their posts.
  • All users will be able to follow/unfollow any other users.
  • All users will be able to view all their followers and followings.
  • Users will be notified on any activities (post liked, commented, followed, etc)
  • Users will be able to see their feeds (their follower’s post sorted by time), popular posts worldwide, and also will be suggested with posts the user might like (Post you might like).
  • Users will be able to search other users by username and also other pets (by name).
  • Non-users / guests will still be able to search other users and pets, still be able to view posts but will not be able to like/ comment on any posts.
  • Guests will still be provided with Popular post