Built Using: ReactJS, NodeJs, Express and MongoDB.
- Fully responsive on desktop and mobile.
- Secure Authentication
- Create new text and image posts.
- Like posts
- Search posts by tags.
- View and Edit your profile.
- View Trending tags and Active users
- Clone this repository.
- Migrate to the server directory by running
cd server
command on terminal. - Run the command
npm install
on terminal to install required packages. - Run
npm start
to start the server. - Migrate to the client directory by running
cd client
command on terminal. - Run the command
npm install
on terminal to install required packages. - Run
npm start
. - Set relevant environment variables to configure Firebase Auth.
client\.env.local
Variable | Description |
---|---|
VITE_apiKey | Firebase API Key |
VITE_messagingSenderId | Firebase Messaging sender ID |
VITE_appId | Firebase app id |
proxy | Server API URL (accessible through import.meta.env.proxy) |
VITE_defaultemail | Testing email for easy login (Make sure it represents a valid user in your Firebase and DB) |
VITE_defaultpass | Corresponding password for testing email |
server\.env
Variable | Description |
---|---|
MONGODB_URI | Your MongoDB deployment URI |
PORT | Server Port number |
IMGUR_CLIENT_ID | Imgur API client ID |
IMGUR_CLIENT_SECRET | Imgur client secret |
VITE_messagingSenderId | Firebase API Key |
- MERN (React, NodeJs, Express, MongoDB)
- Redux-Toolkit for State Management
- Tachyons for styling
- Dotenv to load environment variables locally
- Fontawesome for icons
- Firebase for User Authentication
- MongoDB Atlas for Database Hosting
- Imgur API for hosting images
- Robohash for default user profile pictures
- Netlify for Frontend
- Render for Backend
- MongoDB Atlas for Database
Contributions are welcome! Here's how you can contribute:
- Open an issue if you believe you've encountered a bug.
- Make a pull request to add new features/make quality-of-life improvements/fix bugs.
- Star this repository to help it reach more people!
- Make feature requests.