Git Product home page Git Product logo

memories-app-mern's Introduction

ย  Memories App

Built with MERN stack (MongoDB, Express, React, and Node). Memories App, where you can post interesting events that happened in your lives

๐Ÿ’ซ๐Ÿ’ซ๐Ÿ’ซ ย  Live Demo ๐Ÿ’ซ๐Ÿ’ซ๐Ÿ’ซ

๐Ÿ“œ ย  Table of contents

โญ ย  Introduction

Full Stack MERN Application - from start to finish.

The App is called "Memories" and it is a simple social media app that allows users to post interesting events that happened in their lives. with real app features like user authentication and social login using Google accounts.

๐Ÿšฉ ย  Main Features

This App was made to post user's interesting events that happing in their day to day life

Users can post their event and like other users posts and comment on them

Project methodology

  • Login and Logout system

    • Every user has to log in with google accounts to post the memories.
    • Once the user is logged in, the user will able to use all the features of the app.
    • If the user has not logged in, the user will only be able to view/see posts from the other users.
    • That is if the user has not logged in, user will not able to access all the potential features of the app.
  • Product life cycle

    • A user will log in into the app with their Google accounts
    • A user will post their memories through the form "Creating a Memory".
    • After posting the memories. memories will appear on the memories section of the app.
    • From the memories section of the app, all users of the app will be able to see all the posts posted.
    • Any user can like and comment on the posts that are posted on the app.
  • Other facilities

    • Users can edit their previous posts by click on the post.
    • Users can add tags to their post.
    • Users can search memories by memories title or tags.
    • Users can delete their respective posts.

๐Ÿ’ป ย  Setup

  • To run this project, locally on your system
  • Fork this repo and run the git clone <forked repo> command from your terminal/bash
  • Create a .env file in the following directory and store the following:
    • On client directory
      • REACT_APP_GOOGLE_CLIENT_ID=Insert the valid google client id
    • On server directory
      • CONNECTION_URL=Insert the correct connection URL for your MongoDB database
$ cd  server 
$ npm install (install backend dependencies)
$ cd client
$ npm install (install frontend dependencies)
$ cd ..
$ cd sever
$ npm start (for Node server side development)
$ cd ..
$ cd client 
$ npm start (for React client side development)

For CONNECTION_URL for the backend server, you have to visit mongodb atlas. Here you can create your own collection and can use connect app URL for CONNECTION_URL

For Google client Id you have to visit Google developers console from here generate your respective client Id

๐Ÿ‘จโ€๐Ÿ’ป ย  Demo

Screenshoots of some main features

ย  ย  ย  ย 


ย  ย  ย  ย  tablet mockup 2

๐Ÿ’ก ย  Key Concepts

  • CRUD operations
  • Authentication system
  • Storing user data
  • OOP (Object Oriented Programming)

๐Ÿ’น ย  Technologies

Project is created with:

Backend

  • Node Js : A asynchronous event-driven JavaScript runtime, Node.js is designed to build scalable network applications.
  • Express : Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web applications.
  • Mongoose : Mongoose is an Object Data Modeling (ODM) library for MongoDB and Node Js.
  • MongoDB: MongoDB is a source-available cross-platform document-oriented database program. Classified as a NoSQL database program.
  • JSON Web Tokens or JWTs : A JSON Web Token is used to send information that can be verified and trusted by means of a digital signature.

Frontend

  • React JS:React JS is a free and open-source front-end JavaScript library for building user interfaces or UI components.
  • Redux :Redux is an open-source JavaScript library for managing application state.
  • React-Router : React Router is a library for routing in React. It enables the navigation among views of various components in a React Application.
  • Axios : Promise based HTTP client for the browser and node.js.
  • Material UI : Material-UI is simply a library that allows us to import and use different components to create a user interface in our React Js.

Alternatives to technology used

  • React Js can be replaced by others popular fronted framework like Vue,Angular,Svelte or Ember
  • Node Js can be replaced by Deno/koa , flask/Django
  • Mongodb can be replaced by SQL type DB
  • Material UI can be replaced by BootStrap

Author

๐Ÿ‘ค ย  Atharva Yawalkar

memories-app-mern's People

Contributors

atharva137 avatar

Stargazers

Moses Mwaniki avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.