Skip to content

uttam-li/billify

Repository files navigation

Billify

Table of Contents

Overview 📝

Billify is a billing system designed to help small businesses manage their invoicing, customers, and products efficiently. It provides a user-friendly interface for creating invoices, tracking payments, and generating reports.

Demo 🔗

Check out a live demo of Billify here.

Technologies Used

This project utilizes a range of modern frameworks, languages, and tools:

Core Technologies 💻

Tools 🛠️

Additional Dependencies 📦

Features ✨

  • User Management: Allows business owners to register accounts and manage user roles.
  • Customer Management: Enables users to create, view, update, and delete customer information.
  • Product Management: Provides tools for managing products or services offered by the business.
  • Invoicing: Allows users to generate invoices, add line items, calculate totals, and specify payment terms.
  • PDF Generation: Generates PDF invoices from bill details for easy sharing and printing.
  • Security: Ensures secure authentication and authorization mechanisms to protect sensitive data.
  • Responsive Design: Offers a responsive and accessible interface for managing bills on various devices.
  • Email Notifications: Sends automated email notifications for invoice generation, updates, and payment reminders.
  • Dashboard: Displays a summary of total sales and revenue on the dashboard.

Prerequisites ⚙️

Before you begin, ensure you have met the following requirements:

Getting Started 🚀

  1. Installation: Clone the repository and install dependencies using npm install.

    git clone https://github.com/uttam-li/billify.git
    cd billify
    npm install 
  2. Database Setup: Set up your database and configure the connection in the .env file.

    As an example, you can use Docker to run a PostgreSQL database:

    docker run --name PostgreSQL_DB -e POSTGRES_PASSWORD=password -e POSTGRES_DB=billify -d -p 5432:5432 docker.io/postgres

    This command will start a PostgreSQL database with the following credentials:

    • Username: postgres
    • Password: password

    Then, specify the database URL in your .env file:

    DATABASE_URL="postgresql://postgres:password@localhost:5432/billify"
  3. Environment Setup: Define all the necessary variables in your .env file.

    # For development
    NEXTAUTH_URL="http://localhost:3000"
    
    # For production (replace 'your-hosted-url' with your actual hosted URL, and 'your-nextauth-secret with a secret)
    NEXTAUTH_URL="your-hosted-url"
    NEXTAUTH_SECRET="your-nextauth-secret"
    
    # Obtain all the secrets from the respective providers
    GOOGLE_ID="<Your Google ID>"
    GOOGLE_SECRET="<Your Google Secret>"
    GITHUB_ID="<Your GitHub ID>"
    GITHUB_SECRET="<Your GitHub Secret>"
  4. Launch the Application: Start the development server using the following command:

    # Ensure you are in the root directory of the project
    npm run dev
  5. Access the Application: Once the server is running, you can access the Billify application in your web browser.

    Visit http://localhost:3000 to view your local instance of the application.

Releases

No releases published

Packages

No packages published

Languages