Here’s a README.md tailored for your Scripture Admin project:
Scripture Admin is an administrative web application designed for managing content and users effectively. It is built with Next.js and leverages modern technologies like Firebase for authentication, MongoDB Atlas for data storage, and Nodemailer for email services. Passwords are securely managed using bcrypt.js for hashing. The application is hosted at Scripture Admin.
- Dashboard: Centralized control panel for admin activities.
- User Management: Secure login and sign-up using Firebase authentication.
- Magazine Management: Add, edit, and manage magazine content.
- Email Service: Notify users using Nodemailer.
- Data Security: Password hashing with bcrypt.js ensures user data is secure.
- Carousel: A dynamic carousel for showcasing key content.
- Frontend: Next.js
- Backend: Next.js API Routes
- Authentication: Firebase
- Database: MongoDB Atlas
- Email Service: Nodemailer
- Password Security: bcrypt.js
- Hosting: Vercel
src/
├── app/
│ ├── api/ # Backend API routes
│ ├── Dashboard/ # Main admin dashboard components
│ ├── Carasoul/ # Carousel functionality
│ │ └── page.jsx # Carousel page component
│ ├── EditMagazine/ # Magazine editing interface
│ ├── Home/ # Admin homepage
│ ├── Login/ # Login system
│ ├── Magazine/ # Magazine management
│ │ ├── page.jsx # Magazine page
│ │ └── MagazineInsert/ # Add magazine content
│ ├── Mailer/ # Email services
│ ├── SignUp/ # User sign-up functionality
│ ├── Subscribers/ # Manage subscribers
│ ├── global.css # Global styles
│ ├── layout.js # Application layout
│ ├── page.module.css # Page-specific styles
├── Assets/ # Static assets
├── CSS/ # Component-specific styles
├── dbconfig/ # MongoDB configuration
├── .env # Environment variables
├── favicon.ico # Application favicon
- Node.js (>= 18.x)
- Firebase account
- MongoDB Atlas account
-
Clone the repository:
git clone https://github.com/Heavy108/scripture-admin.git cd scripture-admin -
Install dependencies:
npm install
-
Set up environment variables: Create a
.envfile in the root directory and add the following:MONGODB_URI=your-mongodb-atlas-uri FIREBASE_API_KEY=your-firebase-api-key FIREBASE_AUTH_DOMAIN=your-firebase-auth-domain FIREBASE_PROJECT_ID=your-firebase-project-id FIREBASE_STORAGE_BUCKET=your-firebase-storage-bucket FIREBASE_MESSAGING_SENDER_ID=your-firebase-sender-id FIREBASE_APP_ID=your-firebase-app-id NEXT_PUBLIC_API_BASE_URL=http://localhost:3000 EMAIL_SERVICE=your-email-service EMAIL_USER=your-email@example.com EMAIL_PASS=your-email-password -
Run the development server:
npm run dev
-
Open your browser and navigate to:
http://localhost:3000
This project is deployed on Vercel. To deploy your own version:
- Push the code to a GitHub repository.
- Connect the repository to Vercel.
- Set up environment variables in the Vercel dashboard.
- Deploy!
- Authentication: Firebase ensures secure user authentication with built-in methods.
- Password Hashing: Passwords are hashed using bcrypt.js before storing them in the database.
- Environment Variables: Sensitive information like API keys and database credentials are stored in
.envfiles and are not included in the repository.
Contributions are welcome! Feel free to open an issue or submit a pull request for improvements.
This project is licensed under the MIT License.
Let me know if you'd like to add more details or modify any section!