Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Here’s a README.md tailored for your Scripture Admin project:


Scripture Admin

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.

Features

  • 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.

Tech Stack

Folder Structure

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

Getting Started

Prerequisites

  • Node.js (>= 18.x)
  • Firebase account
  • MongoDB Atlas account

Installation

  1. Clone the repository:

    git clone https://github.com/Heavy108/scripture-admin.git
    cd scripture-admin
  2. Install dependencies:

    npm install
  3. Set up environment variables: Create a .env file 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
    
  4. Run the development server:

    npm run dev
  5. Open your browser and navigate to:

    http://localhost:3000
    

Deployment

This project is deployed on Vercel. To deploy your own version:

  1. Push the code to a GitHub repository.
  2. Connect the repository to Vercel.
  3. Set up environment variables in the Vercel dashboard.
  4. Deploy!

Security

  • 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 .env files and are not included in the repository.

Contributing

Contributions are welcome! Feel free to open an issue or submit a pull request for improvements.

License

This project is licensed under the MIT License.

Acknowledgements


Let me know if you'd like to add more details or modify any section!

About

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages