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.
- 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. 🌐
- 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. 🔒
- 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. 🔑
- 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.
- 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.