Skip to content

YUGESHKARAN/Tech-Community-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

592 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Tech. Community App

License: MIT GitHub forks Node.js Version Last Commit Contributors Issues Closed Issues Pull Requests Closed PRs

Welcome to the Tech. Community App!

Developer's-Learning & collaborative platform designed for universities and colleges, focusing on knowledge sharing and community building. The platform enables student developers to connect, collaborate, and engage through sharing their tech works, knowledge and findings, all within their institution. Developers can interact, clarify doubts via discussion section. The platform includes role-based interfaces for Students, Coordinators, and Admins to manage content, moderation, and community participation.


Home Screen (Coordinator Interface)

Tech-Comm-App


Playlist Screen (Student Interface)

Tech-Comm-App


Tech Community Screen (Student Interface)

Tech-Comm-App


Key Features

  • User Authentication –Secure registration and login with role-based access using JWT.
  • Assistant_Knowledge Hub – In-post AI assistant that provides contextual explanations, related posts, videos, and suggested follow-up queries.
  • DraftMate AI – Content drafting assistant to refine and structure post descriptions before publishing.
  • Post Management – Create, edit, and publish technical posts within the community.
  • Playlists Management – Organize and save curated collections of posts for structured learning.
  • Discussions – Engage with the community through threaded discussions on posts.
  • Announcements – Coordinators and admins can publish institutional or community updates.
  • Notifications – Real-time alerts for recommended feeds and comments.
  • Network Recommendation – A graph structured author recommendation system to build connections.

Student Interface

  • Explore Technical Content: Browse, learn, and engage with posts across tech communities.
  • Interactive Discussions: Comment on posts and join lively discussions.
  • Personalized Experience: Follow favorite communities and authors, and receive tailored notifications.
  • Stay Informed: Get real-time announcements about events and sessions.

Coordinator Interface

  • Content Creation & Management: Publish, edit, or delete technical posts.
  • AI-Powered Grammar Checker: Ensure content quality using integrated AI tools.
  • Event Management: Plan and schedule announcements for meetings and events.

Admin Interface

  • Platform Oversight: Manage users, roles, and permissions.
  • Activity Monitoring: Verify and monitor student and coordinator activities.
  • Comprehensive Control: Oversee and configure all aspects of the platform.

Repo Structure

Frontend and Backend are deployed and scaled independently in service level (Application is loosly coupled with other micro-services outlined in the Key Features section):

Node-Blog-App/
├── backend/    # Node.js + Express + Redis + AWS -S3 + MongoDB 
├── frontend/   # React.js + Tailwind CSS 
├── README.md
└── ...

Tech Stack

  • Backend: Node.js, Express, MongoDB, Mongoose
  • Frontend: React.js, Tailwind CSS
  • Storage: AWS S3
  • Caching: Redis

Getting Started

Prerequisites

Backend Setup

cd backend
npm install
  1. Create a .env file in the backend/ directory:
    # Database credentials
    MONGODB_URI = your_mongodb_connection_string
    REDIS_URL = your_redis_connection_string
    
    # E-Mail credentials
    EMAIL_PROVIDER = providers_email_id
    EMAIL_PASS = providers_email_pass_key
    
    # AWS credentials
    AWS_BUCKET_NAME = your_bucket_name
    AWS_ACCESS_KEY_ID = your_access_key
    AWS_SECRET_ACCESS_KEY = your_secret_key
    AWS_REGION = your_aws_region
    
    # Authentication key for auth-middleware (secure client access)
    JWT_TOKEN_ACCESS_KEY = your_jwt_hashKey
  2. Start the backend server:
    npm run dev
  3. Open http://localhost:3000 in your browser.

Frontend Setup

cd frontend
npm install
  1. Create a .env file in the frontend/:
    # Micro-services URLs
    VITE_CHATBOT_URL= drafMate_assistant_url
    VITE_WEBSOCKET_URL = discussion.io_url
    VITE_TECH_ASSISTANT_URL = assistant_knowledge_hub_url
    VITE_RECOMMENDATION_URL = author_recommendation_surl
    
    # Local encryption key
    VITE_STORAGE_KEY = your_hashKey # your custome hashKey for localStroage encryption
  2. Start the frontend server:
    npm run dev
  3. Open http://localhost:5173 in your browser.

Contributing

Contributions are welcome!
Refere CONTRIBUTING.md

License

This project is licensed under the MIT License.


About

Developer's-Learning and collaborative platform designed for individual academic institutions (universities/colleges).

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages