Skip to content

A full-stack web application serving as a centralized hub for managing monthly memberships.

Notifications You must be signed in to change notification settings

clay-arras/passhub

Repository files navigation

PassHub

A full-stack web application serving as a centralized hub for managing monthly memberships.

React Next.js Tailwind CSS MongoDB AWS Redis

Screen.Recording.2024-12-05.at.2.47.11.PM.1.mp4

Features

  • User Authentication: Secure login and registration using Google OAuth.
  • Database Integration: Fetch and store data with MongoDB.
  • Payment Processing: Integrate Stripe API to enable payments.
  • REST API: Fetch memberships and handle purchases via Next.js API routes.
  • Caching: Implemented caching with Redis, reducing rendering times

Technologies Used

  • Frontend: React.js, Next.js, Tailwind CSS
  • Backend: Node.js, Next.js API Routes
  • Database: MongoDB
  • Caching: Redis
  • Cloud Services: AWS
  • Payment Gateway: Stripe API

Getting Started

Follow these instructions to set up the project locally.

Prerequisites

  • Node.js (v12 or higher)
  • npm (Node Package Manager)
  • MongoDB (Local or Cloud instance)
  • Stripe Account (For payment integration)
  • Redis Server (Optional, for caching)

Installation

  1. Clone the Repository

    git clone https://github.com/clay-arras/passhub.git
    cd passhub
  2. Install Dependencies

    npm install
  3. Configure Environment Variables

    Create a .env file in the root directory and add the following variables:

    • Google OAuth Settings

      GOOGLE_CLIENT_ID=your_google_client_id
      GOOGLE_CLIENT_SECRET=your_google_client_secret
      NEXTAUTH_SECRET=your_nextauth_secret
      NEXTAUTH_URL=http://localhost:3000
    • MongoDB Connection

      MONGODB_URL=your_mongodb_connection_string
    • Stripe API Keys

      STRIPE_PUBLIC_KEY=your_stripe_public_key
      STRIPE_SECRET_KEY=your_stripe_secret_key
    • Redis Configuration (Optional)

      REDIS_HOST=your_redis_host
      REDIS_PASSWORD=your_redis_password
      REDIS_PORT=your_redis_port

    Note: Replace the placeholder values with your actual credentials.

  4. Run the Application

    npm run dev

    The app should now be running at http://localhost:3000.

Usage

  • Access the Application

    Open your web browser and navigate to http://localhost:3000.

  • Authentication

    Use the Google Sign-In button to log in or register.

  • Manage Memberships

    View available memberships fetched from the MongoDB database.

  • Purchase Memberships

    Proceed to checkout using Stripe for payment processing.

License

This project is licensed under the MIT License.


About

A full-stack web application serving as a centralized hub for managing monthly memberships.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published