Skip to content

jiniyasshah/sourcenode

Repository files navigation

SourceNode

SourceNode is a platform to secure, grow, and share your ideas effortlessly on the blockchain with unmatched speed and simplicity.

Live Demo

Check out the live demo here: Live Demo

https://sourcenode.vercel.app/

Table of Contents

Installation

  1. Clone the repository:

    git clone https://github.com/jiniyasshah/sourcenode.git
    cd sourcenode
  2. Install dependencies:

    npm install
  3. Set up environment variables: Create a .env.local file in the root directory and add the following:

 NEXT_PUBLIC_URL=
 NEXT_PUBLIC_DOMAIN=
 NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
 NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
 NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/home
 NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/home
 NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
 CLERK_SECRET_KEY=
 GOOGLE_API_KEY=
 NEXT_PUBLIC_CONTRACT_ADDRESS=
 CLOUDINARY_CLOUD_NAME=
CLOUDINARY_PRESET_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=
DATABASE_URL=
  1. Run the development server:
npm run dev

Project Structure

src/
├── app/
│   ├── (auth)/
│   ├── (root)/
│   ├── api/
│   ├── create-idea/
│   ├── home/
│   ├── idea-info/
│   ├── idea-overview/
│   ├── layout.jsx
│   ├── profile/
│   ├── verified-ideas/
│   ├── verify-ideas/
├── components/
│   ├── IdeaSubmissionForm/
│   ├── IdeaVerifier.jsx
│   ├── navigation/
│   ├── sections/
│   ├── SubmissionComponents/
│   ├── ui/
│   ├── WalletGuard/
├── config/
├── constants/
│   └── contractABI.js
├── contexts/
│   └── WalletProvider.jsx
├── hooks/
│   ├── use-mobile.jsx
│   ├── useContract.js
│   ├── useDatabase.jsx
│   ├── useFileUpload.js
├── lib/
│   └── utils.js
├── middleware.js
├── store/
│   ├── formSlice.js
│   ├── store.js
├── style/
│   └── globals.css
├── utils/

Screenshots

Landing Page

landing page

Connect Wallet

connect wallet

Home Page

home

Idea Creation Page

create idea

Idea Verification Page

verify idea

Detailed Idea Page

detailed idea

Components

Navigation

Sidebar and navigation components for the application.

Sections

Different sections of the application like HeroSection, IdeaSection, etc.

SubmissionComponents

Components related to idea submission like BasicDetails, GoalsAndStage, VerificationDetails, UserDetails, Summary.

UI

Reusable UI components like Button, Card, AlertDialog, etc.

WalletGuard

Components related to wallet connection and authentication.

Hooks

useContract

Custom hook to interact with the smart contract.

useDatabase

Custom hook to interact with the database.

useFileUpload

Custom hook to handle file uploads to Cloudinary.

use-mobile

Custom hook for mobile-specific functionalities.

API

Endpoints

  • /api/v1/fetch-verified-ideas: Fetch all verified ideas.
  • /api/v1/upload-files: Upload files to Cloudinary.

Contributing

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-branch).
  3. Make your changes.
  4. Commit your changes (git commit -m 'Add some feature').
  5. Push to the branch (git push origin feature-branch).
  6. Open a pull request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •