Skip to content

Latest commit

Β 

History

History
236 lines (183 loc) Β· 6.73 KB

README.md

File metadata and controls

236 lines (183 loc) Β· 6.73 KB

Stack Overflow Clone πŸš€

Stack Overflow Clone image

Welcome to **Stack-Overflow-Clone**, a platform dedicated to fostering a vibrant community of developers helping developers by providing a space to ask questions, share knowledge, and find solutions together. 🌟❀

Stack Overflow Clone

Table of Contents

Important links related to the project

Technology Used

Technology Features
React.js Frontend of the application
Redux State Management
Node.js, Express.js Backend of the application
MongoDB Atlas, Mongoose Database for the application
Bcrypt Password Management
JSON Web Token Authorization and Authentication
Render Deployment
Postman API Testing, Debugging and Documentation

Features

Features of our Stack Overflow Clone are as follows:

  • Ask & Answer: Post your coding questions and provide answers to help fellow developers.
  • Voting: Upvote helpful questions and answers to recognize and encourage valuable contributions.
  • Tags & Categories: Organize content by adding relevant tags and categories to questions.
  • Search: Easily find answers using our powerful search functionality.
  • User Profiles: Build your developer identity, showcase your skills, and keep track of your contributions.
  • Responsive Design: Enjoy a seamless experience across devices, from desktop to mobile.

Top-level directory structure

β”œβ”€β”€ client                   # Frontend React.js directory
β”‚   β”œβ”€β”€ public              # Public assets for the React app (images, etc.)
β”‚   β”œβ”€β”€ src                 # React application source code
β”‚   β”‚   β”œβ”€β”€ components      # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ pages           # Individual page components
β”‚   β”‚   β”œβ”€β”€ App.js          # Root component
β”‚   β”‚   β”œβ”€β”€ index.js        # Entry point for React app
β”‚   β”‚   └── ...             # Other React-related files and folders
β”œβ”€β”€ server                  # Backend Node.js/Express directory
β”‚   β”œβ”€β”€ controllers         # Controllers for handling requests
β”‚   β”œβ”€β”€ models              # Database models and schemas
β”‚   β”œβ”€β”€ routes              # API route handlers
β”‚   β”œβ”€β”€ utils               # Utility files
β”‚   β”œβ”€β”€ views               # Templates for rendering server-side views
β”‚   β”œβ”€β”€ app.js              # Express app setup
β”‚   β”œβ”€β”€ package-lock.json   # Node.js package lock
β”‚   └── package.json        # Node.js package information
β”œβ”€β”€ .gitignore             
└── README.md
mvc architecture

Screenshots of the project

Home Page Tags Page
screely-1677925947288
SignUp Page Login Page
screely-1677924790571 screely-1677925542185
Question Detail Screen Posting an Answer Screen
screely-1677925947288
All Users Screen Ask a Question Screen
User Profile Screen Other User's Profile Page
screely-1677925947288

Installation


To setup the project on your local environment, follow the given steps:

  1. Fork the Palaksharma23/Stack-Overflow-Clone repository.
  2. Clone the repository:
https://github.com/<USERNAME>/Stack-Overflow-Clone.git

Replace the <USERNAME> with your GitHub username.

Frontend

Move to the client directory

  cd client

Install the necessary dependencies

  npm install

To start the server in development mode

  npm start

Go to localhost:3000 to view the website.

Backend

Move to the server directory

  cd server

Install the necessary dependencies

  npm install

Add a config.env file in the root directory and enter your MongoDb Atlas and JWT Secret key The format of .env file should be similar to the following

CONNECTION_URL = "Mongo db url"
JWT_SECRET = "This could be anything like test"

To start the server in development mode

  npm start

Server will start at PORT 5000

Contributions

Your worthy contributions are most welcome to our Stack Overflow Clone website. If you have an idea for a new feature or a bug fix, please submit an issue or pull request.

Feedback

Feel free to send any feedback on Twitter or file an issue.