All Projects → Mayank0255 → Stackoverflow Clone

Mayank0255 / Stackoverflow Clone

Licence: mit
Clone project of a famous Q/A website for developers which is stackoverflow built using MySQL-Express-React-Node 🌐

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Stackoverflow Clone

V8 Archive
Directus Database API — Wraps Custom SQL Databases with a REST/GraphQL API
Stars: ✭ 486 (+167.03%)
Mutual labels:  api, sql, database, mysql
Koa Vue Notes Api
🤓 This is a simple SPA built using Koa as the backend, Vue as the first frontend, and React as the second frontend. Features MySQL integration, user authentication, CRUD note actions, and async/await.
Stars: ✭ 342 (+87.91%)
Mutual labels:  api, database, mysql, backend
Manticoresearch
Database for search
Stars: ✭ 610 (+235.16%)
Mutual labels:  api, sql, database, mysql
App
Directus Admin Application — An Intuitive WebApp for Managing Database Content
Stars: ✭ 464 (+154.95%)
Mutual labels:  api, sql, database, mysql
Directus Docker
Directus 6 Docker — Legacy Container [EOL]
Stars: ✭ 68 (-62.64%)
Mutual labels:  api, sql, database, mysql
Node Mysql Utilities
Query builder for node-mysql with introspection, etc.
Stars: ✭ 98 (-46.15%)
Mutual labels:  sql, database, mysql
Next
Directus is a real-time API and App dashboard for managing SQL database content. 🐰
Stars: ✭ 111 (-39.01%)
Mutual labels:  api, database, mysql
Mysql Container
MySQL container images based on Red Hat Software Collections and intended for OpenShift and general usage. Users can choose between Red Hat Enterprise Linux, Fedora, and CentOS based images.
Stars: ✭ 117 (-35.71%)
Mutual labels:  sql, database, mysql
Db Tutorial
💾 db-tutorial 是一个数据库教程。
Stars: ✭ 128 (-29.67%)
Mutual labels:  sql, database, mysql
Qtl
A friendly and lightweight C++ database library for MySQL, PostgreSQL, SQLite and ODBC.
Stars: ✭ 92 (-49.45%)
Mutual labels:  sql, database, mysql
Directus
Open-Source Data Platform 🐰 — Directus wraps any SQL database with a real-time GraphQL+REST API and an intuitive app for non-technical users.
Stars: ✭ 13,190 (+7147.25%)
Mutual labels:  api, database, mysql
Goose
A database migration tool. Supports SQL migrations and Go functions.
Stars: ✭ 2,112 (+1060.44%)
Mutual labels:  sql, database, mysql
Linq2db
Linq to database provider.
Stars: ✭ 2,211 (+1114.84%)
Mutual labels:  sql, database, mysql
Nymph
Data objects for JavaScript and PHP.
Stars: ✭ 97 (-46.7%)
Mutual labels:  sql, database, frontend
Alpine Mariadb
MariaDB running on Alpine Linux [Docker]
Stars: ✭ 117 (-35.71%)
Mutual labels:  sql, database, mysql
Setup
My own front end web development set up, covering everything from operating system to analytics.
Stars: ✭ 93 (-48.9%)
Mutual labels:  stack, frontend, sass
Kangaroo
SQL client and admin tool for popular databases
Stars: ✭ 127 (-30.22%)
Mutual labels:  sql, database, mysql
Querybuilder
SQL query builder, written in c#, helps you build complex queries easily, supports SqlServer, MySql, PostgreSql, Oracle, Sqlite and Firebird
Stars: ✭ 2,111 (+1059.89%)
Mutual labels:  sql, database, mysql
Laravel Db Profiler
Database Profiler for Laravel Web and Console Applications.
Stars: ✭ 141 (-22.53%)
Mutual labels:  sql, database, mysql
Myproxy
A sharding proxy for MYSQL databases
Stars: ✭ 153 (-15.93%)
Mutual labels:  sql, database, mysql

StackOverflowClone

Version NPM NODE MYSQL License

As the name suggests, this project is a clone of a famous Q/A website for professional and enthusiast programmers built solely by me using a completely different stack.

🆕 New Update: newly added features are mentioned in issue(#15)

Table of Contents

My Tech Stack (MERN)

Front-end

  • Front-end Framework: React.js (with Redux)
  • Styling: SASS and BOOTSTRAP

Back-end

  • For handling server requests: Node.js with Express.js Framework
  • As Database: MySQL
  • API tested using: POSTMAN

Original Tech Stack

  • For handling server requests: C#
  • As Database: Microsoft SQL Server
  • .NET as well

Contributing

  • Go to Contributing.md

Guidelines to setup

  1. Create a .env file and the format should be as given in .env.example.
  2. Run these commands then -
    npm run installDep (To install all the dependencies)
    
    npm run auditDep (Run this to audit fix all the vulnerabilities)
    
  3. Run databaseConfig.sql file in the mysql client
    source <file path>/databaseConfig.sql
    
  4. (Optional) Run seed.sql file in the mysql client for seed data
    source <file path>/seed.sql
    
    Note: Change the database name in databaseConfig.sql & seed.sql under USE command
  5. Start the servers
    Option 1 (for running both the servers simultaneously):
    
    npm run dev
    
    Option 2 (for running both the servers individually):
    
    npm run server (for backend server only)
    
    npm run client (for frontend server only)
    

NOTE: Might take sometime to start as there will be 2 servers running.

API Endpoints

Base Url - http://localhost:5000/api

Users

  • GET /auth
  • POST /auth
  • POST /users/:id
  • GET /users
  • GET /users/:id

Posts

  • GET /posts
  • GET /posts/top
  • GET /posts/tag/:tagname
  • GET /posts/:id
  • POST /posts/
  • DELETE /posts/:id

Answers

  • GET /posts/answers/:id
  • POST /posts/answers/:id
  • DELETE /posts/answers/:id

Comments

  • GET /posts/comments/:id
  • POST /posts/comments/:id
  • DELETE /posts/comments/:id

Tags

  • GET /tags
  • GET /tags/:tag_name

Future Scope

  • Setup Sequelize with MySQL in the API.
  • Deploy the database to cloud, API, and client-side.

DEMO

VIDEO - Watch the video

Video Last Updated on 18th July, 2020

IMAGES

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].