Skip to content

PostHive is a Social Media Application allowing users to post & communicate with other people.

Notifications You must be signed in to change notification settings

anshvert/PostHive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 

Repository files navigation

PostHive

Overview

This project is a Reddit-inspired web application built using modern web technologies. It offers a platform for users to create, share, and discuss content across various topics. The application incorporates features like user authentication, real-time updates, a GraphQL API, and more. Below, you'll find information on how to set up, run, and deploy this application.

Technologies Used

  • Next.js
  • TypeScript
  • GraphQL
  • URQL
  • Node.js
  • PostgreSQL
  • TypeORM
  • Redis
  • Next.js
  • TypeGraphQL
  • MUI(Material UI)

image

Features

  • Full-Stack Development: The application demonstrates proficiency in both front-end and back-end development using a comprehensive tech stack.

  • Scalable Database: Utilizes PostgreSQL along with advanced ORM like TypeORM to manage structured data efficiently.

  • Real-Time Updates: Implements real-time features using WebSocket technology, enhancing user engagement and interactivity.

  • GraphQL API: Provides a flexible and efficient GraphQL API for data retrieval, optimizing user experience.

  • User Interface: Offers a responsive and intuitive user interface developed with Next.js and MUI for a smooth user experience.

  • Authentication and Authorization: Ensures secure access to user-specific data and features through robust authentication and authorization systems.

  • Caching: Optimizes data retrieval and server performance with Redis as an in-memory cache.

Setup and Usage

  1. Clone the Repository: git clone https://github.com/yourusername/PostHive.git

  2. Install Dependencies: In both the client and server directories, run npm install or yarn install to install project dependencies.

  3. Database Setup: Configure and set up your PostgreSQL database, and update the connection details in the server's configuration.

  4. Environment Variables: Create necessary environment variable files for configuration, including database credentials, Redis settings, and API keys.

  5. Start the Development Server: Run npm run dev or yarn dev in both the client and server directories to start the development server.

  6. Access the Application: Open your web browser and navigate to http://localhost:3000 to access the application.

Deployment

  • For production deployment, follow best practices for setting up secure environments, scaling the application, and optimizing database performance.

Testing

  • Implement comprehensive testing strategies, including unit tests, integration tests, and end-to-end tests, to ensure the reliability and stability of the application.

Contributions

Contributions are welcome! If you'd like to contribute to this project, please follow the standard GitHub workflow:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix: git checkout -b feature-name.
  3. Commit your changes: git commit -m "Add new feature".
  4. Push to your fork: git push origin feature-name.
  5. Open a pull request to the main repository.

License

This project is licensed under the MIT License.

Acknowledgments

  • Thanks to the open-source community for the incredible tools and libraries used in this project.

Feel free to customize this README to include specific instructions, project goals, or additional sections as needed for your web app. Good luck with your Reddit-inspired web application!

About

PostHive is a Social Media Application allowing users to post & communicate with other people.

Topics

Resources

Stars

Watchers

Forks

Languages