Skip to content

Avocodos/avocodos

Repository files navigation

Avocodos Logo

CC BY-NC 4.0

Open Source? Yes! GitHub stars Maintainer GitHub branches GitHub commits GitHub last commit GitHub issues GitHub pull requests GitHub watchers

Avocodos

Avocodos is a completely web3-based social media and learning platform. Avocodos allows users to create, share, and learn from courses and communities.

Table of Contents

Features

  • View and enroll in courses
  • Get rewareded with NFTs for completing courses
  • Create posts
  • Create comments
  • Create messages with reactions
  • Create communities
  • Follow other users
  • Community moderation features
  • Community flair/badges
  • Community Roles
  • Community NFTs
  • Self-created messaging system with reactions and attachments
  • Course management system for instructors
  • Community badges creation and management
  • Community roles creation and management
  • Welcome NFT reward for new users
  • Course enrollment and payment system (demo)
  • Community creation feature
  • Rewards system for user achievements
  • Enhanced SEO and metadata for various pages
  • Community member and moderator management

Tech Stack

  1. Next.js: React framework for server-side rendering and static site generation.
  2. React: JavaScript library for building user interfaces.
  3. TypeScript: Typed superset of JavaScript for improved developer experience.
  4. Prisma: Modern database toolkit for Node.js and TypeScript.
  5. Lucia: Authentication library for TypeScript.
  6. Tailwind CSS: Utility-first CSS framework for rapid UI development.
  7. Radix UI: Unstyled, accessible components for building high-quality design systems.
  8. React Query: Data fetching and state management library for React applications.
  9. Tiptap: Headless, extensible rich text editor framework for React.
  10. Zod: TypeScript-first schema validation library.
  11. React Hook Form: Performant form management library for React.
  12. Uploadthing: File upload solution for Next.js applications.
  13. Stream Chat: Real-time messaging SDK for building chat applications.
  14. ESLint: JavaScript and TypeScript linter for maintaining code quality.
  15. Prettier: Code formatter for consistent code style.
  16. Sharp: High-performance image processing library for Node.js.
  17. Supabase: Open source Firebase alternative (used as a postgreSQL database).
  18. Prisma Accelerate: Global database connection pool and caching layer.
  19. Aptos TypeScript SDK: SDK which allows you to interact on the Aptos blockchain.
  20. shadcn/ui: Re-usable components built using Radix UI and Tailwind CSS.
  21. Aptos Wallet Adapter: For integrating with Aptos wallets.
  22. date-fns: Modern JavaScript date utility library.
  23. Lucide React: Beautiful & consistent icon pack for React.
  24. Redis: In-memory data structure store, used as a database, cache, and message broker.

Installation

To set up the project locally, follow these steps:

  1. Clone the repository:

    $ git clone https://github.com/HarjjotSinghh/avocodos.git
    $ cd avocodos/frontend
  2. Install dependencies:

    $ npm install
  3. Set up environment variables: Copy the .env.example file to .env and fill in the required values.

  4. Run the development server:

    $ npm run dev
  5. Open http://localhost:3000 with your browser to see the live website.

Submit an Issue

If you encounter any bugs or have suggestions for improvements, please feel free to submit an issue:

  1. Go to the Issues page of this repository.
  2. Click on the "New Issue" button.
  3. Choose the appropriate issue template if available, or create a blank issue.
  4. Fill in the title and description with as much detail as possible.
  5. Submit the issue.

Contribute to this Repository

Please read our contribution guide to learn more about contributing to this project.

Please ensure that your code adheres to the project's coding standards and includes appropriate tests if applicable.

Thank you for contributing to Avocodos!