Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vikas350/sociopedia--mern-stack-application
A social media application with features like post uploading, liking, and user connections. Utilized React JS for a responsive UI, Redux for state management, and MongoDB for scalable data storage. Backend built with Node JS and Express JS for efficient server-side operations.
https://github.com/vikas350/sociopedia--mern-stack-application
material-ui mongodb nodejs reactjs redux
Last synced: about 6 hours ago
JSON representation
A social media application with features like post uploading, liking, and user connections. Utilized React JS for a responsive UI, Redux for state management, and MongoDB for scalable data storage. Backend built with Node JS and Express JS for efficient server-side operations.
- Host: GitHub
- URL: https://github.com/vikas350/sociopedia--mern-stack-application
- Owner: Vikas350
- Created: 2023-09-18T18:48:11.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-05-01T08:12:16.000Z (7 months ago)
- Last Synced: 2024-05-01T09:25:11.445Z (7 months ago)
- Topics: material-ui, mongodb, nodejs, reactjs, redux
- Language: JavaScript
- Homepage: https://sociopedia-app.vercel.app/
- Size: 7.49 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🌐 Sociopedia
Sociopedia is a social media web application built using the MERN (MongoDB, Express.js, React, Node.js) stack. It allows users to register, create posts, and view profiles of other users. The app provides a platform for social networking and sharing content with friends and the wider community.## 🛠️ Technologies used:
[![My Skills](https://skillicons.dev/icons?i=react,redux,materialui,nodejs,express,mongodb,vercel)](https://skillicons.dev)
### Front-end:
- React: JavaScript library for building user interfaces. ⚛️
- React Router: Library for handling client-side routing. 🛣️
- Material-UI: UI component library for styling and theming the app. 🎨
- Redux: State management library for managing global app state. 🔄
- Axios: Promise-based HTTP client for making API requests. 🌐
### Back-end:
- Node.js: JavaScript runtime for server-side development. 🖥️
- Express.js: Web application framework for building RESTful APIs. 🌐
- MongoDB: NoSQL database for storing user information, posts, and other data. 📦
- Mongoose: MongoDB object modeling library for interacting with the database. 🍃
- JSON Web Tokens (JWT): Token-based authentication mechanism for securing routes. 🔒
### Other Tools:
- Multer: Middleware for handling file uploads. 📎
- Helmet: Middleware for setting HTTP headers for improved security. 🛡️
- Morgan: HTTP request logging middleware. 📝
- dotenv: Library for loading environment variables from a .env file. 🔑## Deployment:
- [Vercel Front-End Deployment](https://sociopedia-app.vercel.app)
- [DigitalOcean API Deployment](https://urchin-app-v2nci.ondigitalocean.app)## MongoDB Schema:
![image](https://github.com/Vikas350/SocioPedia--MERN-Stack-Application/assets/77073202/5ceb8f2a-71dc-4028-8656-32f19eac3742)## Features ✨
- **User Registration** 📝: Users can create an account by providing their information and uploading a profile picture.
- **User Authentication** 🔒: Secure authentication is implemented using JSON Web Tokens (JWT) to ensure authorized access to protected routes.
- **Post Creation** 📝: Users can create posts with text content and an optional picture upload.
- **User Profiles** 👤: Each user has a profile page where their posts are displayed along with their profile picture and information.
- **Home Feed** 🏠: Authenticated users can view a feed of posts from all users, sorted by the most recent.
- **Responsive Design** 📱: The app is optimized for various screen sizes and devices, allowing users to access Sociopedia from desktops, tablets, and mobile devices.## Prerequisites 📋
- Node.js (version 12 or above) and npm (Node Package Manager) must be installed on your system.
- MongoDB should be installed and running locally or provide a connection URL to a remote MongoDB instance.