Skip to content

meshal10613/hobby-hatch-s

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Name: HobbyHatch

Project Purpose: HobbyHatch

HobbyHatch is a web platform designed to help individuals connect through shared interests by discovering, joining, or creating local hobby-based groups. Whether it’s book clubs, hiking crews, painting circles, or any other passion-driven activity, HobbyHatch aims to build vibrant, interest-focused communities that foster real-life social engagement and meaningful connections.

This platform addresses the growing need for offline community and social interaction in an increasingly digital world. By offering an intuitive and accessible space for users to explore hobbies and meet like-minded people nearby, HobbyHatch empowers users to turn their personal interests into shared experiences.

🔑 Key Features of HobbyHub

  1. Hobby Discovery
  • Browse a wide range of hobbies (e.g., photography, hiking, chess, painting).
  • Filter hobbies by category, popularity, or trending status.
  1. Local Group Finder
  • Search for nearby groups based on location and hobby.
  • View group details including member count, activity frequency, and upcoming events.
  1. Group Creation & Management
  • Users can start new hobby groups with customizable settings.
  1. Community Interaction
  • Reaction and comment features on posts and event pages.
  1. Mobile-Optimized & Responsive Design
  • Seamless experience across devices.

Dependencies

🚀 Getting Started

To get the backend server up and running on your local machine, follow these simple steps.

Prerequisites

Make sure you have Node.js and npm installed. MongoDB should also be installed and running.

Running the Server

  1. Create a .env file in the root of your project and add your environment variables:
    PORT=3000
    DB_USER=your_mongodb_username
    DB_PASS=your_mongodb_password
    • PORT: The port your backend server will run on (defaulting to 3000 if not specified).
    • DB_USER & DB_PASS: Your MongoDB Atlas cluster username and password.
    • NODE_ENV: Set to production in production environments for secure cookie handling (secure and sameSite settings).
  2. Start the backend server:
    npm start
    The server will typically run on the port specified in your .env file (e.g., http://localhost:3000).

🗺️ API Endpoints

Here's a detailed overview of the API endpoints provided by this backend:

Method Endpoint Description Authentication
GET /user Retrieves a list of all users Public
GET /user/:id Retrieves user details, including a list of enrolled course IDs from the enrollments collection Privet
POST /user Creates a new user in the database Public
PATCH /user Update user data Privet
GET /hobbies Retrieves a list of all hobbies Public
GET /hobbies/:id Retrieves hobbies details, including a list of enrolled course IDs from the enrollments Public
POST /hobbies Creates new hobbies Public
PUT /hobbies/:id Updates the hobbies Privet
DELETE /hobbies/:id Delete a particuler hobbie Privet

🤝 Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📞 Contact

Syed Mohiuddin Meshal - syedmohiuddinmeshal24@gmail.com

About

The back-end of HobbyHatch is build with express js and using MongoDB as database

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors