This is fullstack MERN application for publishing your own places (restaurants, parks, squares and other bussiness/historical and whatever places with coordinates).
You can sign up, create new place and publish it and everyone can see it, but only you can edit and delete it.
For creating the place you need to upload image from that place, enter the coordinates for the place to see it on a map, enter title, description and street address.
In this app for the frontend I'm using React.js, custom Hooks, React built-in hooks and vanilla CSS. I'm storing the jsonwebtoken in the localStorage of the browser. The app is fully responsive.
For the backend I'm using Node.js with Express.js to build the REST API.
For the database I'm using MongoDB with Mongoose for easier communication with the Models. I have 2 models, one for the User and one for the Posts, they are linked with One to Many relationship.
I'm protecting the routes with the jsonwebtoken, hashing the password with bcryptjs, allowing to upload the images with Multer package for Express.js.
This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.
Node package manager - npm.
- Clone the repo
git clone https://github.com/aleksandromilenkov/shareYourPlace.git
- Navigate to server folder and npm install there
npm install
- Navigate to client folder and npm install there too
npm install
- Once installed, navigate to server folder and run this command to start the server:
npm run start
- After server started, navigate to client folder and run this command to start the client:
npm run start
Now go to localhost:3000 and you will see the app.
Use this app for whatever you like.
- React.js
- CSS
- Node.js
- Express.js
- MongoDB
- Mongoose
- jsonwebtoken
- Multer
- Express validator
- Bcrypt
- And more...