AuditSafe is a web application that simplifies security audit management by allowing users to upload, analyze, and visualize audit reports. It generates summarized insights, provides security suggestions, and offers various data visualizations to help organizations make informed decisions. Designed with a clean and intuitive UI, AuditSafe aims to enhance compliance management for businesses .
-
User Authentication
- Secure login and signup using JWT-based authentication.
- Passwords are securely hashed to protect user credentials.
-
User Profiles
- Each user has a personal profile to view past uploaded audit reports and manage their data.
-
Dashboard
- A centralized dashboard showing:
- Summarized analysis of uploaded audit reports.
- Security recommendations to improve system defenses.
- Key insights from audit data.
- A centralized dashboard showing:
-
Report Visualization
- Interactive charts to interpret audit data effectively using Recharts:
- Bar, line, and pie charts to represent audit results.
- Interactive charts to interpret audit data effectively using Recharts:
-
Clean User Interface
- Built with React + TypeScript for scalability and Tailwind CSS for a modern look.
- Material-UI components used to enhance the visual design.
-
Security Recommendations
- Actionable suggestions to address gaps identified in the audit report.
- Frontend: React, TypeScript, Material-UI, Tailwind CSS
- Backend: Node.js, Express, JWT Authentication
- Database: MongoDB with Mongoose ORM
- Charts: Recharts (for data visualizations)
Make sure you have the following installed:
- Node.js (v14+): Download Node.js
- MongoDB: MongoDB Installation Guide
- Git: Download Git
-
Clone the repository
Open your terminal and run:git clone https://github.com/Ujjawal-Kantt/Audit-Safe.git cd AuditSafe -
Install dependencies
Navigate to the project directory and install all necessary dependencies:npm install
-
Set up environment variables
Create a.envfile in the root directory:touch .env
-
Configure the .env file
Add the following environment variables to your.envfile:JWT_SECRET=your_jwt_secret DATABASE_URL=mongodb://localhost:27017/auditsafe PORT=5000
-
Start MongoDB server
If you are running MongoDB locally, open a new terminal and run:mongod
-
Run the development server
Start the backend and frontend simultaneously:npm run dev
-
Open the application
Visithttp://localhost:3000in your browser to use AuditSafe.
-
Sign up or Log in
- Create an account or log in using your credentials to access the dashboard.
-
Upload a Security Audit Report
- Use the Upload Report feature to add a new audit report to the system.
-
View Suggestions and Summaries
- After uploading, the dashboard displays a summary of the report and security suggestions.
-
Explore Visualizations
- View the report data in various formats such as bar, line, and pie charts.
-
Manage Your Profile
- Visit your profile to access all previously uploaded reports.
-
Start the development server:
npm run dev
-
Start only the backend:
npm run server
-
Build the frontend for production:
npm run build
AuditSafe/
│
├── backend/ # Backend code (Node.js, Express)
│ ├── models/ # Mongoose models
│ ├── routes/ # API routes
│ ├── middleware/ # Authentication middleware
│ └── utils/ # Utility functions
│
├── frontend/ # Frontend code (React + TypeScript)
│ ├── public/ # Static files
│ ├── src/ # Source code
│ │ ├── components/ # React components
│ │ ├── ui/ # The components of UI which we have used in React Components
|
└── .env # Environment variables
Contributions are welcome! If you would like to contribute:
- Fork the repository.
- Create a new branch:
git checkout -b feature-branch-name
- Make your changes and commit them:
git commit -m "Add some feature" - Push to the branch:
git push origin feature-branch-name
- Submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for more details.