- 🤖 Introduction
- ⚙️ Tech Stack
- 🔋 Features
- 🤸 Quick Start
- 🕸️ Environment Setup
- 🚀 Deployment
- 🧑💻 Testing
- 🤝 Contributing
- 📝 License
Welcome to the SoS App! This application provides a secure and user-friendly platform to report incidents anonymously. Built with the latest technologies, it ensures that sensitive information remains private while allowing users to report issues efficiently. The app is hosted online, making it accessible from anywhere, and relies on a cloud-hosted database for seamless data management.
The SoS App is built using the following technologies:
- Next.js 14 – A powerful React framework for building server-side rendered applications.
- TypeScript – For type safety and better developer experience.
- Prisma – A modern database toolkit for working with databases, with support for PostgreSQL.
- NextAuth.js – For secure authentication with easy configuration.
- Tailwind CSS – For a responsive and customizable UI.
- React Hook Form – For building forms with minimal re-renders and better performance.
- GeminiAI – For integrating AI functionalities.
- BCrypt – For secure password hashing and encryption.
- Anonymity – All reports are submitted anonymously, ensuring user privacy.
- Admin Panel – Special access for admins to manage reports and user data.
- Real-time Updates – Reports are processed and updated in real time.
- Secure Authentication – Admin users are authenticated securely via NextAuth.js.
- Responsive Design – Built using Tailwind CSS to ensure the app is usable on both desktop and mobile devices.
- AI Integration – Use GeminiAI to automate certain actions and enhance reporting functionalities.
To get started quickly, follow the steps below:
Make sure you have the following installed:
-
Clone the repository:
git clone https://github.com/brandoniscoding-dev/SOS-App.git cd SOS App
-
Install dependencies:
pnpm install
-
Set up the database:
npx prisma generate npx prisma db push
-
Start the development server:
pnpm run dev
Create a .env
file in the root directory with the following environment variables:
NEXTAUTH_SECRET="your-secret-key"
NEXTAUTH_URL="http://localhost:3000/api/auth"
GEMINI_API_KEY=AIzaSyD3gDRNNd3wlCCZGYGaEmuNd_OPAbq_6bA
DATABASE_URL="prisma+postgres://accelerate.prisma-data.net/?api_key=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcGlfa2V5IjoiYjVlYWQ4NWMtZmI5NC00ZGEzLWIwNmItOGRiMjE0MzQyMzMxIiwidGVuYW50X2lkIjoiNWUzNTk1NjcyNjJmMTQ5NTExY2VlYjQwN2U1Nzg3YTMwMTYzMzIxZDNiZDU4NDJmZTNiYmZiMDMyYzg5ZTVjNSIsImludGVybmFsX3NlY3JldCI6ImQyNTFmYjBmLTQ4ODgtNDQ2OS04MDc1LTU0NmM4NGUxMWY2NyJ9.GCddZ6h2Qqneu3RVkIGmJPq41dzjrscALLAhHGk0XdU"
PULSE_API_KEY="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcGlfa2V5IjoiYjVlYWQ4NWMtZmI5NC00ZGEzLWIwNmItOGRiMjE0MzQyMzMxIiwidGVuYW50X2lkIjoiNWUzNTk1NjcyNjJmMTQ5NTExY2VlYjQwN2U1Nzg3YTMwMTYzMzIxZDNiZDU4NDJmZTNiYmZiMDMyYzg5ZTVjNSIsImludGVybmFsX3NlY3JldCI6ImQyNTFmYjBmLTQ4ODgtNDQ2OS04MDc1LTU0NmM4NGUxMWY2NyJ9.GCddZ6h2Qqneu3RVkIGmJPq41dzjrscALLAhHGk0XdU"
The application can be deployed to production using Vercel or Docker.
- Push your code to a Git repository.
- Connect the repository to Vercel.
- Set up the environment variables in the Vercel dashboard.
- Deploy and watch the magic happen!
-
Ensure you have Docker installed on your system.
-
Build the Docker image for the application:
docker build -t sos-app .
-
Run the application using the Docker container:
docker run -d -p 3000:3000 --name sos-app-container sos-app
-
Access the application in your browser at
http://localhost:3000
.
For testing the app as an admin, use the following credentials:
- Email:
[email protected]
- Password:
admin1234
This will give you access to the Admin Panel where you can manage reports and view user data.
We welcome contributions! Please follow our Contributing Guidelines to help improve the project.
This project is licensed under the MIT License – see the LICENSE file for details.