Skip to content

genius-0963/Project1-A-Secret-Message-

Repository files navigation

Project 1: A Secret Message

Overview

A Secret Message is a web application designed to send and receive secret messages securely and efficiently. Built using modern web technologies, the application supports user authentication, message encryption, and user-friendly features.

Key Features

  • User Authentication: Secure sign-up, sign-in, and session management.
  • Send Secret Messages: Send encrypted messages to users.
  • Email Verification: Verify user identity through email.
  • Message History: View received and sent messages.
  • Mobile-Responsive Design: Optimized for both desktop and mobile users.

Getting Started

Follow these instructions to set up the project locally.

Prerequisites

Ensure you have the following installed on your system:

  • Node.js (v16+ recommended)
  • npm or yarn (for dependency management)
  • A MongoDB database (local or cloud-based)

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/your-repo.git
    cd your-repo
  2. Install dependencies:

    npm install
    # or
    yarn install
  3. Set up environment variables:

    • Copy .env.sample to .env:
      cp src/app/.env.sample src/app/.env
    • Update the .env file with your configurations (e.g., database connection URL, email provider credentials).

Running the Development Server

Start the development server:

npm run dev
# or
yarn dev

Open http://localhost:3000 in your browser to see the app in action.

Building for Production

To build the application for production:

npm run build

Serve the production build:

npm start

Usage

  • Sign Up: Create a new account using your email.
  • Send a Message: Navigate to the "Send Message" page, input the recipient and message, and send.
  • View Messages: Go to your dashboard to view received and sent messages.

Technologies Used

Frontend

  • Next.js: Framework for server-side rendering and static site generation.
  • Tailwind CSS: Utility-first CSS framework for responsive design.

Backend

  • Node.js: JavaScript runtime for server-side logic.
  • MongoDB: NoSQL database for storing user and message data.

Additional Tools

  • TypeScript: Strongly-typed JavaScript for code reliability.
  • NextAuth.js: Authentication for Next.js applications.
  • Resend: Email service integration for verification emails.

Contributing

Contributions are welcome! Please follow these steps to contribute:

  1. Fork the repository.
  2. Create a new branch:
    git checkout -b feature-name
  3. Commit your changes:
    git commit -m "Add your message here"
  4. Push the branch:
    git push origin feature-name
  5. Open a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.


Acknowledgments

  • Special thanks to the creators of Next.js and Tailwind CSS.
  • Inspiration for the project from secure messaging platforms.

Contact

For questions or feedback, please contact [email protected].

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published