Skip to content

Built with the MERN stack (MongoDB, Express.js, React, Node.js), Deep Thoughts lets users sign up, post thoughts, and engage with others, offering real-life social media interactions.

License

Notifications You must be signed in to change notification settings

Jay1194/Deep-Thoughts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deep Thoughts Social Media App

Deep Thoughts is a social media application built with the MERN stack (MongoDB, Express.js, React, Node.js). Users can sign up, post their thoughts, and interact with others, similar to real-life social media apps.

Screenshot 2024-06-13 at 8 22 21 PM

Table of Contents

Features

  • User authentication with JWTs
  • Create and manage thoughts
  • Interact with other users
  • GraphQL API integration with Apollo Server and Client
  • Single-page application routing with React Router

Technologies Used

  • MongoDB: NoSQL database for storing user data and thoughts.
  • Express.js: Web framework for Node.js.
  • React: Front-end library for building user interfaces.
  • Node.js: JavaScript runtime for the server.
  • GraphQL: Query language for APIs.
  • Apollo Server: GraphQL server for Express.js.
  • Apollo Client: GraphQL client for React.
  • React Router: Declarative routing for React applications.
  • Concurrently: Run multiple processes with a single command.
  • jsonwebtoken: JSON Web Token implementation for authentication.
  • jwt-decode: Decode JWT tokens.
  • faker: Generate fake data for development.
  • nodemon: Automatically restart Node.js server on file changes.

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/deep-thoughts.git
  2. Navigate to the project directory:

    cd deep-thoughts
  3. Install the dependencies:

    npm install
  4. Start the development server:

    npm run develop

Usage

  • Visit https://localhost:3000 to view the application.
  • Use the sign-up form to create a new account.
  • Post new thoughts and interact with other users.

Available Scripts

In the project directory, you can run:

  • npm run develop: Runs both the server and client in development mode using concurrently.

  • npm run server: Runs the Express.js server only.

  • npm run client: Runs the React client only.

    Project Structure

deep-thoughts/
├── client/                 # React front-end
│   ├── public/
│   └── src/
│       ├── components/
│       ├── pages/
│       ├── utils/
│       └── App.js
├── server/                 # Express.js server
│   ├── config/
│   ├── models/
│   ├── schemas/
│   ├── utils/
│   └── server.js
├── .gitignore
├── package.json
└── README.md

Learn More

  • MongoDB: NoSQL database for flexible data storage.
  • Express.js: Web framework for Node.js applications.
  • React: JavaScript library for building user interfaces.
  • Node.js: Runtime environment for server-side JavaScript.
  • GraphQL: Query language for APIs, enabling precise data requests.
  • Apollo Server & Client: Tools for building GraphQL servers and clients.
  • React Router: Navigational components for single-page applications.
  • Concurrently: Utility for running multiple processes simultaneously.
  • jsonwebtoken & jwt-decode: Libraries for managing JWTs in authentication.
  • faker: Library for generating mock data during development.
  • nodemon: Tool for auto-restarting Node.js applications on file changes.

License

License: MIT

About

Built with the MERN stack (MongoDB, Express.js, React, Node.js), Deep Thoughts lets users sign up, post thoughts, and engage with others, offering real-life social media interactions.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published