brave-platform

byMayur Gole

Build a full-stack Skill Swap Platform web application. Requirements: - Frontend: React.js with Tailwind CSS - Backend: Node.js with Express.js - Database: MySQL Features: 1. User Authentication (Signup, Login, JWT) 2. User Profile (name, bio, skills offered, skills wanted) 3. Skill Search (find users by skills and location) 4. Swap Requests (send, accept, reject, status tracking) 5. Real-time Chat (Socket.IO) 6. Ratings and Reviews 7. Notifications Additional: - Use clean and modular folder structure - Create REST APIs for backend - Connect frontend with backend using Axios - Use bcrypt for password hashing - Provide database schema (MySQL) Output: - Complete frontend code - Complete backend code - Database schema - Steps to run locally

LandingSignupSearchLoginChatProfileUsersSwap RequestReviewsDashboard
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 7

System Requirements Document (SRD)

brave-platform

1. Introduction

The brave-platform is a full-stack Skill Swap Platform web application designed to empower users to exchange their skills and expertise directly. This platform will enable users to connect based on their skills and location, facilitating meaningful collaborations and fostering a community of mutual growth.

The platform will be developed using modern technologies, including React.js for the frontend, Node.js with Express.js for the backend, and MySQL for the database. It will feature real-time interactions, secure authentication, and a user-friendly interface tailored to the needs of users in India (IN), considering locale-specific defaults like time zones (IST) and currency (INR) where applicable.

This document outlines the system requirements for the brave-platform, including functional and non-functional requirements, user personas, design concepts, and technical specifications.

Page 2 of 7

2. System Overview

The brave-platform will serve as a centralized hub for users to:

  • Create and manage profiles showcasing their skills and the skills they seek.
  • Search for other users based on skills and location.
  • Initiate and manage skill swap requests.
  • Communicate in real-time using an integrated chat system.
  • Provide feedback through ratings and reviews.
  • Receive notifications for important updates, such as swap requests and messages.

The platform will prioritize security, scalability, and usability, ensuring a seamless experience for all users.

3. Functional Requirements

As User:

  • I should be able to sign up, log in, and log out securely using JWT.
  • I should be able to create and update my profile with details like name, bio, skills offered, and skills wanted.
  • I should be able to search for other users based on skills and location.
  • I should be able to send, accept, reject, and track the status of skill swap requests.
  • I should be able to chat in real-time with other users.
  • I should be able to rate and review other users after a skill swap.
  • I should receive real-time notifications for swap requests, chat messages, and other updates.

As Admin:

  • I should be able to manage user accounts and moderate content (e.g., reviews, profiles).
  • I should be able to view platform analytics, such as the number of active users and completed swaps.
Page 3 of 7

4. User Personas

  1. Skill Seeker:

    • Primary user looking to acquire a specific skill.
    • Needs to search for users offering the desired skill and initiate swap requests.
  2. Skill Provider:

    • Primary user offering their expertise in exchange for learning another skill.
    • Needs to manage incoming swap requests and communicate with seekers.
  3. Admin:

    • Oversees platform operations, ensuring a safe and productive environment.
    • Moderates content and manages user accounts.

5. Visuals Colors and Theme

Page 4 of 7

Color Palette:

The brave-platform will have a modern, vibrant, and professional aesthetic. The following unique color palette will be used:

  • Background: #F7F9FC (Light Mist Blue)
  • Surface: #FFFFFF (Pure White)
  • Text: #2E3A59 (Deep Navy Blue)
  • Accent: #FF6F61 (Coral Red)
  • Muted: #B0BEC5 (Soft Gray)

This palette ensures readability, accessibility, and a visually appealing interface.

6. Signature Design Concept

Page 5 of 7

Interactive Skill Map

The homepage will feature an Interactive Skill Map, a dynamic and visually engaging representation of the platform's users and their skills.

  • Design:
    A world map with glowing, pulsating nodes representing users. Each node will display the user's primary skill when hovered over. Clicking a node will open a card with the user's profile details and an option to initiate a skill swap.

  • Animations:
    Nodes will gently pulse with a glowing effect, and the map will have a subtle parallax scrolling effect. When a node is clicked, the card will "slide up" with a smooth transition.

  • Interaction:
    Users can filter the map by skill type or location using dropdown menus. The map will dynamically update to show relevant nodes.

This concept will make the platform's landing page unforgettable, showcasing the global reach and diversity of skills available.

7. Non-Functional Requirements

  • Performance: The platform should handle up to 10,000 concurrent users with minimal latency.
  • Scalability: The system should be scalable to accommodate future growth in user base and features.
  • Security: All sensitive data (e.g., passwords) must be encrypted using bcrypt. JWT will be used for secure authentication.
  • Accessibility: The platform will adhere to WCAG 2.1 guidelines to ensure usability for all users.
  • Localization: The platform will support Indian locale defaults, including IST time zone and INR currency.
Page 6 of 7

8. Tech Stack

Frontend:

  • React.js
  • Tailwind CSS

Backend:

  • Node.js
  • Express.js

Database:

  • MySQL (with Alembic for migrations)

Real-Time Communication:

  • Socket.IO

Security:

  • bcrypt for password hashing
  • JWT for authentication

Deployment:

  • Docker and docker-compose for local orchestration
  • Kubernetes for server-side orchestration
Page 7 of 7

9. Assumptions and Constraints

  • Users will have access to stable internet connections for real-time features.
  • The platform will initially target users in India, with potential for global expansion.
  • Notifications will be real-time using WebSockets.
  • The system will not support offline functionality in the initial release.

10. Glossary

  • JWT: JSON Web Token, a secure method for transmitting information between parties.
  • Socket.IO: A library for real-time, bidirectional communication between web clients and servers.
  • bcrypt: A password-hashing function for secure storage of user credentials.
  • REST API: Representational State Transfer Application Programming Interface, a standard for building web services.
  • WCAG: Web Content Accessibility Guidelines, standards for making web content accessible to all users.

This document provides a comprehensive roadmap for the development of the brave-platform. Let me know if there are any additional details you'd like to include, Mayur!

Landing design preview
Login: Sign In
Dashboard: View Analytics
Dashboard: Monitor Active Users
Users: Manage Accounts
Users: Moderate Profiles
Reviews: Moderate Content