{"id":18284734,"url":"https://github.com/enes9103/mern_tutorial_post_share_crud","last_synced_at":"2026-04-12T00:02:09.757Z","repository":{"id":183488850,"uuid":"670172311","full_name":"enes9103/MERN_Tutorial_Post_Share_CRUD","owner":"enes9103","description":null,"archived":false,"fork":false,"pushed_at":"2024-04-04T15:26:49.000Z","size":404,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-15T00:26:20.222Z","etag":null,"topics":["bcryptjs","cors-request","environment","expressjs","jsonwebtoken","mern-stack-development","mongoose","node-js","nodemon","postman","proxy","react-hooks","reactjs","redux-thunk","toastify"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/enes9103.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-24T12:59:35.000Z","updated_at":"2024-04-30T18:05:48.000Z","dependencies_parsed_at":"2024-04-04T16:51:44.171Z","dependency_job_id":"c566ddec-f67f-4fd9-860a-e131c029e64e","html_url":"https://github.com/enes9103/MERN_Tutorial_Post_Share_CRUD","commit_stats":null,"previous_names":["enes9103/mern_tutorial_post_share_crud"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enes9103%2FMERN_Tutorial_Post_Share_CRUD","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enes9103%2FMERN_Tutorial_Post_Share_CRUD/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enes9103%2FMERN_Tutorial_Post_Share_CRUD/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enes9103%2FMERN_Tutorial_Post_Share_CRUD/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/enes9103","download_url":"https://codeload.github.com/enes9103/MERN_Tutorial_Post_Share_CRUD/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247987108,"owners_count":21028891,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bcryptjs","cors-request","environment","expressjs","jsonwebtoken","mern-stack-development","mongoose","node-js","nodemon","postman","proxy","react-hooks","reactjs","redux-thunk","toastify"],"created_at":"2024-11-05T13:14:29.861Z","updated_at":"2026-04-12T00:02:09.647Z","avatar_url":"https://github.com/enes9103.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n🌐 MERN Stack\n\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\nMongoDB, Expressjs, React/Redux, Nodejs\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n   \u003ca href=\"https://github.com/enes9103/MERN_Tutorial_Post_Share_CRUD/blob/master/LICENSE\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/License-MIT-green.svg\" /\u003e\n   \u003c/a\u003e\n\u003c/p\u003e\n\n\u003e MERN is a fullstack implementation in MongoDB, Expressjs, React/Redux, Nodejs.\n\n## Description\n\nA post sharing application built with the MERN stack and using our own APIs. This app enables three main different streams or apps:\n\n1. Users can register and log in with their registered user information.\n2. Users can share their own posts. They can update or delete the posts they share.\n3. Users can access and communicate with data on other pages of the application.\n\n- features:\n  - Node provides backend environment for this application\n  - Express middleware is used to handle requests and routes\n  - Mongoose schematics for modeling application data\n  - React to display UI components\n  - Redux to manage application state\n  - Redux Thunk middleware to handle asynchronous redux actions\n\n## clone or download\n\n```terminal\n$ git clone https://github.com/enes9103/MERN_Tutorial_Post_Share_CRUD.git\n$ yarn # or npm i\n```\n\n## project structure\n\n```terminal\nLICENSE\npackage.json\nserver/\n   package.json\n   .env (to create .env, check [prepare your secret session])\nclient/\n   package.json\n...\n```\n\n# Usage (run fullstack app on your machine)\n\n## Languages \u0026 tools\n\n- [Node](https://nodejs.org/en/)\n\n- [Express](https://expressjs.com/)\n\n- [Mongoose](https://mongoosejs.com/)\n\n- [React](https://reactjs.org/)\n\nnotice, you need client and server runs concurrently in different terminal session, in order to make them talk to each other\n\n## Client-side usage(PORT: 3000)\n\n```terminal\n$ cd client          // go to client folder\n$ yarn # or npm i    // npm install packages\n$ npm start        // run it locally\n\n// deployment for client app\n$ npm run build // this will compile the react code using webpack and generate a folder called docs in the root level\n$ npm run start // this will run the files in docs, this behavior is exactly the same how gh-pages will run your static site\n```\n\n## Server-side usage(PORT: 5000)\n\n### Prepare your secret\n\n(You need to add a MONGO_URI in .env to connect to MongoDB)\n\n```\n Create .env file that include:\n\n  * MONGO_URI\n```\n\nor\n\n```terminal\n// in the root level\n$ cd server\n$ echo \"MONGO_URI\" \u003e\u003e src/.env\n```\n\n### Start\n\n```terminal\n$ cd server   // go to server folder\n$ npm i       // npm install packages\n$ npm start // run it locally\n$ npm run build // this will build the server code to es5 js codes and generate a dist file\n```\n\n## Deploy Server to [Heroku](https://dashboard.heroku.com/)\n\n```terminal\n$ npm i -g heroku\n$ heroku login\n...\n$ heroku create\n$ npm run heroku:add \u003cyour-super-amazing-heroku-app\u003e\n// remember to run this command in the root level, not the server level, so if you follow the documentation along, you may need to do `cd ..`\n$ pwd\n/Users/\u003cyour-name\u003e/mern\n$ npm run deploy:heroku\n```\n\n# Dependencies(tech-stacks)\n\n| Client-side            | Server-side               |\n| ---------------------- | ------------------------- |\n| express: ^4.18.2       | mongoose: ^4.7.4          |\n| body-parser: ^1.20.2   | cors: ^2.8.5              |\n| jsonwebtoken: ^9.0.1   | bcryptjs: ^2.4.3          |\n| dotenv: ^16.3.1        | nodemon: ^3.0.1           |\n| react: ^^18.2.0        | react-dom: ^18.2.0        |\n| react-redux: ^8.1.1    | axios: ^1.4.0             |\n| redux: ^4.2.1          | react-router-dom: ^6.14.2 |\n| redux-thunk: ^2.4.2    | react-icons: ^4.10.1      |\n| react-toastify: ^9.1.3 | tailwindcss: ^3.3.3       |\n\n# Screenshots of this project\n\nUser visit public and Home page\n![User visit public and Home page](https://github.com/enes9103/MERN_Tutorial_Post_Share_CRUD/blob/master/Home.PNG)\n\nUser can sign in or sign up\n![User can sign in or sign up](https://github.com/enes9103/MERN_Tutorial_Post_Share_CRUD/blob/master/Auth.PNG)\n\nAfter logging in, the user can edit and delete posts.\n![After logging in](https://github.com/enes9103/MERN_Tutorial_Post_Share_CRUD/blob/master/Modal.PNG)\n\n## Standard\n\n[![JavaScript Style Guide](https://cdn.rawgit.com/standard/standard/master/badge.svg)](https://github.com/standard/standard)\n\n## BUGs or comments\n\n[Create new Issues](https://github.com/enes9103/MERN_Tutorial_Post_Share_CRUD/issues) (preferred)\n\nEmail Me: enes9103@gmail.com (welcome, say hi)\n\n## Author\n\n[enes9103](https://enes-unlu-portfolio.netlify.app/)\n\n### License\n\n[MIT](https://github.com/enes9103/MERN_Tutorial_Post_Share_CRUD/blob/master/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenes9103%2Fmern_tutorial_post_share_crud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fenes9103%2Fmern_tutorial_post_share_crud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenes9103%2Fmern_tutorial_post_share_crud/lists"}