jolly-applications

byVEMURI VALLI VIJAYA VENKATA AISHWARYA 11239A099

generate a website and mobile applications for login page,register page,forgot password in login page, suggest password in register page and having vegetables with Indian currency as inventory management system i want my website should be protect from sql injection, xss, csrf, brute force attack, otp bypass/interception attack, password sniffing/ shoulder surfing, weak password attacks,clickjacking, mime sniffing attack and don't give saved info while entering the login page or register page and i want separate frontend, backend, database in sqlite and docs for files of readme

No preview

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document

System Requirements Document (SRD)

Project Name: jolly-applications

1. Introduction

The purpose of this document is to outline the system requirements for jolly-applications, a project envisioned by Valli Aishwarya from India. The project aims to develop a secure and user-friendly website and mobile application for managing an inventory of vegetables in Indian currency (INR). The system will include robust security measures to protect against various cyberattacks and ensure a seamless user experience.

The application will feature role-based access control (RBAC) with two user roles: Admin and Customer. Admins will have full privileges to manage the inventory, while Customers will have limited permissions to view and add items to their cart. The system will also include an email-based OTP verification mechanism for secure user authentication.

Page 1 of 7

2. System Overview

The jolly-applications project will consist of the following components:

  1. Frontend: Separate interfaces for Admin and Customer, designed for both web and mobile platforms.
  2. Backend: A secure API-driven architecture to handle business logic, user authentication, and inventory management.
  3. Database: SQLite will be used for storing user data, inventory details, and cart information.
  4. Security: Comprehensive protection against SQL injection, XSS, CSRF, brute force attacks, clickjacking, and other vulnerabilities.
  5. Documentation: Readme files for frontend, backend, and database setup to assist developers and maintainers.

The system will prioritize usability, security, and scalability, ensuring a robust platform for both Admins and Customers.

3. Functional Requirements

Admin Role

  • As Admin, I should be able to log in securely.
  • As Admin, I should be able to manage the inventory (add, update, delete vegetables).
  • As Admin, I should be able to view all customer orders.
  • As Admin, I should be able to manage user accounts (view, deactivate, or delete).
Page 2 of 7

Customer Role

  • As Customer, I should be able to register with a valid email and secure password.
  • As Customer, I should be able to log in securely.
  • As Customer, I should be able to reset my password using a valid email.
  • As Customer, I should be able to view the inventory of vegetables.
  • As Customer, I should be able to add items to my cart.
  • As Customer, I should be able to view my cart and proceed to checkout.

Security Features

  • As a User, I want the system to protect against SQL injection, XSS, CSRF, brute force attacks, clickjacking, MIME sniffing, and weak password attacks.
  • As a User, I want the system to prevent saved information from being auto-filled on the login or registration pages.
  • As a User, I want the OTP system to validate email addresses before allowing registration or password reset.

4. User Personas

  1. Admin

    • Full access to manage inventory, user accounts, and view customer orders.
    • Responsible for maintaining the system and ensuring data accuracy.
  2. Customer

    • Limited access to view inventory and add items to the cart.
    • Can register, log in, and reset passwords using a valid email.
Page 3 of 7

5. Visuals Colors and Theme

The visual identity of jolly-applications will reflect freshness and vibrancy, aligning with the theme of vegetables and inventory management. Below is the unique color palette:

  • Background: #F9FBE7 (Soft Green)
  • Surface: #FFFFFF (Pure White)
  • Text: #2E7D32 (Deep Green)
  • Accent: #FF7043 (Bright Orange)
  • Muted Tones: #BDBDBD (Light Gray)

This palette ensures a clean and professional look while maintaining a fresh and inviting feel.

6. Signature Design Concept

The homepage of jolly-applications will feature an interactive vegetable market scene. Users will see a vibrant, animated marketplace with stalls representing different sections of the inventory.

Page 4 of 7

Key Features:

  • Dynamic Animations: Vegetables will subtly sway or bounce when hovered over, creating a lively and engaging experience.
  • Interactive Stalls: Clicking on a stall will zoom in to reveal the inventory for that category (e.g., leafy greens, root vegetables).
  • Cart Interaction: A floating cart icon will follow the user as they browse, with a micro-interaction showing items being added to the cart in real-time.
  • Security Visuals: A lock icon will appear on the login and registration pages, with a tooltip explaining the security measures in place.

This design will make the application memorable and enjoyable while emphasizing usability and security.

7. Non-Functional Requirements

  • The system must support at least 100 concurrent users without performance degradation.
  • The website and mobile app must load within 3 seconds on a 4G network.
  • The system must comply with GDPR and Indian IT Act regulations for data protection.
  • The database must be backed up daily to prevent data loss.
  • The system must be compatible with the latest versions of Chrome, Firefox, Safari, and Edge.

8. Tech Stack

Page 5 of 7

Frontend

  • React for Web
  • React Native for Mobile

Backend

  • Python
  • FastAPI

Database

  • SQLite

AI Tools

  • Litellm for LLM Routing

Local Orchestration

  • Docker
  • docker-compose
Page 6 of 7

9. Assumptions and Constraints

  • The system assumes users will have access to a valid email address for OTP verification.
  • The application will primarily target users in India, with INR as the default currency.
  • SQLite is chosen for its simplicity and ease of use, but scalability may require migration to a more robust RDBMS in the future.
  • The system will not support offline functionality in its initial release.

10. Glossary

  • RBAC: Role-Based Access Control, a method of restricting system access based on user roles.
  • OTP: One-Time Password, a secure method for user authentication.
  • SQL Injection: A type of attack that allows attackers to execute arbitrary SQL queries.
  • XSS: Cross-Site Scripting, a vulnerability that allows attackers to inject malicious scripts.
  • CSRF: Cross-Site Request Forgery, an attack that tricks users into performing actions they did not intend.
  • Clickjacking: A technique that tricks users into clicking on something different from what they perceive.
  • MIME Sniffing: A vulnerability where browsers interpret files as a different MIME type than intended.

End of Document

Page 7 of 7

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.