Git Product home page Git Product logo

places-app-final's Introduction

PLACES- The Full Stack MERN App

MERN stands for MongoDB, Express.js, React.js and Node.js - and combined, these four technologies helped me to build an application that allows users to share places (with images & location) with other users.

My Remote Image

MongoDB:

The Places collection for the database is stored using MongoDB version 5.0.14. The database utilizes the shared tier cluster. MongoDB documentation

Express.js:

This project uses express Express documentation

React:

This project was bootstrapped with npx create-react-app. In the project directory, you can run: npm start React documentation

Node.js:

The backend was created using Node.Js Node documentation

Project features:

  • sign up/login functionality(not real authentication)
  • third party APIs
  • models: user, place
  • controllers: places, user
  • routes: places, user
  • components: places, user and shared
  • multer middleware for file upload
  • unique user identification uuid package
  • express validator to check user entries
  • express static middleware to get paths from Node.js
  • react router dom
  • React hooks
  • File Reader Javascript browser api
  • fs module to interact with files in the file system
  • body parser for incoming JSON requests
  • CSS styling

CRUD

CRUD refers to the four basic operations a software application should be able to perform โ€“ Create, Read, Update, and Delete. CRUD apps consist of 3 parts: an API (or server), a database, and a user interface (UI). The API contains the code and methods, the database stores and helps the user retrieve the information, while the user interface helps users interact with the app.

All CRUD (Create, Read, Update, Delete) methods covered

My Remote Image

Development: Backend

Development: Frontend

Production

Used 'npm run build' to create the build folder for production.

Deployment: Render:

https://places2.onrender.com/.

Google Maps JavaScript API

This project uses the Google Maps API to display a map when a user creates a place. The api builds dynamic, interactive, deeply customized maps, location, and geospatial experiences for your web apps.

https://developers.google.com/maps/documentation/javascript

Google Maps Geocoding JavaScript API

This project uses the Google Maps Geocoding API. Geocoding is the process of converting addresses (like "1600 Amphitheatre Parkway, Mountain View, CA") into geographic coordinates (like latitude 37.423021 and longitude -122.083739), which you can use to place markers or position the map.

https://developers.google.com/maps/documentation/javascript/geocoding

Multer

Node.js middleware for handling multipart/form-data, which is primarily used for uploading files. I used the built in APIs to get the file path of the images which I needed for both file upload and adding and deleting images from disk storage.

https://github.com/expressjs/multer

https://www.npmjs.com/package/multer

Postman

Learned how to use Postman. Postman also enables you to automate API testing, monitor API performance, mock APIs and more. It was helpful to test all the routes to make sure they worked before moving into the backend. Link to my workspace: 16712219-4a0e-4826-8d8e-7a17f7e0faa4

My Remote Image

Pexels

The images used for the app profile pictures were found on pexel: https://www.pexels.com/collections/headshots-kxyislb/

Stack Overflow

Learned how to properly ask a question on Stack Overflow and earned some privledges and badges. See my question here: https://stackoverflow.com/questions/74988661/typeerror-cannot-read-properties-of-undefined-reading-length

My Remote Image

Errors

Accidently deleted logo192.png and logo512.png from the public folder. So these were removed from the /public/manifest.json to remove the error.

The web app manifest provides information about an application (such as name, author, icon, and description) in a JSON text file. The purpose of the manifest is to install web applications to the homescreen of a device, providing users with quicker access and a richer experience.

My Remote Image

My Remote Image

Trello

My Remote Image

What I want to work on

  • Deleting users
  • Closing out a modals and going back to all users
  • Adding real authentication

places-app-final's People

Contributors

staceyjo avatar

Watchers

 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.