agile-platform

byMayur Gole

Act as a senior full-stack developer. Build a complete Skill Swap Platform web application with frontend, backend, and database. 🔹 Tech Stack: - Frontend: React.js with modern UI (Tailwind CSS) - Backend: Node.js with Express - Database: MySQL - Authentication: JWT - Real-time: Socket.io (for chat) 🔹 Features: 1. User Authentication: - Signup, Login, Logout - Password hashing (bcrypt) - JWT-based authentication 2. User Profile: - Name, bio, profile picture - Skills offered - Skills wanted - Edit profile 3. Skill Discovery: - Search users by skills - Filter users - View other profiles 4. Swap Request System: - Send request (offer skill in exchange) - Accept / Reject request - Cancel request - View sent and received requests - Request status (pending, accepted, rejected, completed) 5. Chat System: - Real-time chat after request accepted - Send messages and files 6. Ratings & Reviews: - Give rating after swap - Review system 7. Notifications: - New request notifications - Message alerts 🔹 Backend Requirements: - REST API with proper routes - MVC structure - Middleware for auth - Error handling 🔹 Database (MySQL): Create tables: - users - skills - swap_requests - messages - reviews 🔹 Frontend Requirements: - Pages: - Home - Login / Signup - Dashboard - Profile - Search Users - Chat - Responsive modern UI

No preview

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document

System Requirements Document (SRD) for Agile-Platform

1. Introduction

The Agile-Platform is a location-specific skill swap platform designed to facilitate peer-to-peer learning and collaboration. This platform allows users to exchange skills with others in their city or nearby areas, fostering a community of mutual growth and knowledge sharing. Developed as part of Mayur Gole's college project in India, the Agile-Platform is tailored to be practical, user-friendly, and easy to demonstrate.

The platform will feature a modern, responsive web application built using React.js for the frontend, Node.js with Express for the backend, and MySQL for the database. It will include real-time chat functionality powered by Socket.io and JWT-based authentication for secure user access.

Page 1 of 8

2. System Overview

The Agile-Platform aims to connect users based on their skills and location. Users can create profiles, list skills they offer and want, search for other users, send skill swap requests, and communicate via real-time chat. The platform will also include features like ratings, reviews, and notifications to enhance user experience.

The system will consist of the following components:

  • Frontend: A responsive web application built with React.js and styled using Tailwind CSS.
  • Backend: A RESTful API developed using Node.js and Express, following the MVC architecture.
  • Database: A MySQL database to store user data, skills, swap requests, messages, and reviews.
  • Real-time Communication: Socket.io for real-time chat functionality.
  • Authentication: Secure user authentication using JWT and bcrypt for password hashing.

The platform will be location-specific, allowing users to filter and connect with others in the same city or nearby areas.

3. Functional Requirements

User Authentication

  • As a User, I should be able to sign up, log in, and log out securely.
  • As a User, I should have my password hashed for security.
  • As a User, I should be authenticated using JWT.
Page 2 of 8

User Profile

  • As a User, I should be able to create and edit my profile, including name, bio, profile picture, city, skills offered, and skills wanted.

Skill Discovery

  • As a User, I should be able to search for other users by skills.
  • As a User, I should be able to filter users based on location and skills.
  • As a User, I should be able to view other users' profiles.

Swap Request System

  • As a User, I should be able to send a skill swap request to another user.
  • As a User, I should be able to accept or reject a skill swap request.
  • As a User, I should be able to cancel a skill swap request.
  • As a User, I should be able to view sent and received requests.
  • As a User, I should be able to see the status of my requests (pending, accepted, rejected, completed).

Chat System

  • As a User, I should be able to chat in real-time with another user after a skill swap request is accepted.
  • As a User, I should be able to send messages and files in the chat.

Ratings & Reviews

  • As a User, I should be able to give a rating after a skill swap is completed.
  • As a User, I should be able to leave a review for the other user.
Page 3 of 8

Notifications

  • As a User, I should receive notifications for new skill swap requests.
  • As a User, I should receive alerts for new messages.

4. User Personas

  1. Admin

    • Role: Manages the platform, monitors user activity, and resolves disputes.
    • Responsibilities: Approve or ban users, manage reported content, and oversee the platform's overall functionality.
  2. User

    • Role: The primary user of the platform.
    • Responsibilities: Create a profile, list skills, search for other users, send and manage skill swap requests, chat, and leave reviews.

5. Visuals Colors and Theme

Unique Color Palette

The Agile-Platform will use a vibrant and professional color palette to reflect its dynamic and collaborative nature:

  • Background: #F4F9FF (Light Sky Blue)
  • Surface: #FFFFFF (Pure White)
  • Text: #2C3E50 (Dark Slate Gray)
  • Accent: #FF6F61 (Coral Red)
  • Muted Tones: #BDC3C7 (Light Gray)
Page 4 of 8

6. Signature Design Concept

Interactive Cityscape Landing Page

The homepage of the Agile-Platform will feature an interactive cityscape design. Users will be greeted with a vibrant, animated skyline representing their city. The buildings in the skyline will light up dynamically as users hover over them, symbolizing the active users in the area. Clicking on a building will zoom into a "neighborhood" where users can see profiles of others offering or seeking skills.

Additional features:

  • Day/Night Mode: The cityscape will transition between day and night based on the user's local time, with subtle animations like moving clouds during the day and twinkling stars at night.
  • Micro-interactions: Hover effects on buildings and animated transitions between sections.
  • Call-to-Action: A prominent "Get Started" button that pulses gently to draw attention.

This design will create a memorable first impression and set the tone for the platform's focus on local collaboration.

Page 5 of 8

7. Non-Functional Requirements

  • The system must support at least 1,000 concurrent users.
  • The platform must be responsive and optimized for both desktop and mobile devices.
  • The system must ensure data security through encryption and secure authentication mechanisms.
  • The platform must provide a seamless user experience with minimal latency (<2 seconds for page loads).
  • The system must be scalable to accommodate future growth.

8. Tech Stack

Frontend

  • React.js for web development
  • Tailwind CSS for modern UI design

Backend

  • Node.js with Express for REST API development

Database

  • MySQL for relational data storage
  • Alembic for database migrations
Page 6 of 8

Real-time Communication

  • Socket.io for real-time chat functionality

Authentication

  • JWT for secure user authentication
  • bcrypt for password hashing

Containerization

  • Docker and docker-compose for local orchestration

9. Assumptions and Constraints

Assumptions

  • Users will primarily access the platform via desktop or mobile web browsers.
  • The platform will initially target users within a single city or nearby areas.
  • The system will not include advanced GPS-based location tracking.

Constraints

  • The platform must be developed within the scope of a college project, limiting time and resources.
  • The system must use the specified tech stack for consistency and ease of demonstration.
Page 7 of 8

10. Glossary

  • Skill Swap: The exchange of skills between two users.
  • JWT: JSON Web Token, a secure method for user authentication.
  • Socket.io: A library for real-time, bidirectional communication between web clients and servers.
  • MVC: Model-View-Controller, a software design pattern for organizing code.
  • Alembic: A database migration tool for managing schema changes.

End of Document

Page 8 of 8

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

No user flows yet.

The User Flow Agent will generate per-persona navigation diagrams after SRD updates.

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

No user flows yet.

The User Flow Agent will generate per-persona navigation diagrams after SRD updates.