Skip to content

a-proton/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.

Table of Contents

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/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/
│   ├── 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
├── pages/
│   ├── IdeaSubmissionForm/
│   ├── IdeaVerifier.jsx
├── store/
│   ├── formSlice.js
│   ├── store.js
├── style/
│   └── globals.css
├── utils/

Screenshots

alt text

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 98.3%
  • CSS 1.7%