A responsive Invoice Management Application developed using React, TypeScript, Redux, and Firebase, featuring user authentication, invoice creation, and dashboard visualization. Leveraging Vercel’s CI/CD pipeline for automated build and deployment ensures efficient application delivery. Check out the live demo of the application here.
- User Authentication: Secure login and registration using Firebase Authentication.
- Invoice Management: Create, view, and delete invoices.
- Dashboard: Visualize overall and monthly collection with charts.
- State Management: Managed using Redux.
- Profile Management: Update profile information and company logo.
- CI/CD Integration: Automated deployment with Vercel.
- Frontend: React, TypeScript
- Backend: Firebase Firestore, Firebase Functions
- Authentication: Firebase Authentication
- Deployment: Vercel
To get a local copy up and running, follow these steps:
- Clone the repository:
git clone https://github.com/your-username/invoice-app.git cd invoice-app
- Install dependencies::
npm install
- Set up Firebase:
- Create a Firebase project on Firebase Console.
- Enable Firestore, Authentication, and Storage.
- Copy your Firebase config and paste it into src/firebase.ts.
- Run the app:
npm start
- Register: Create a new account.
- Login: Sign in with your credentials.
- Dashboard: View your dashboard with overall and monthly collections.
- Invoices: Create, view, and manage invoices.
- Settings: Update your profile information and company logo.
invoice-app
│
├── node_modules/
├── public/
├── src/
│ ├── assets/
│ │ └── invoice.jpg
│ ├── components/
│ │ ├── dashboard/
│ │ │ ├── dashboard.css
│ │ │ ├── Dashboard.tsx
│ │ │ ├── Home.tsx
│ │ │ ├── InvoiceDetail.tsx
│ │ │ ├── Invoices.tsx
│ │ │ ├── NewInvoice.tsx
│ │ │ └── Setting.tsx
│ │ ├── login/
│ │ │ ├── Login.css
│ │ │ └── Login.tsx
│ │ ├── register/
│ │ ├── Register.css
│ │ └── Register.tsx
│ ├── redux/
│ │ ├── actions/
│ │ ├── reducers/
│ │ └── store.ts
│ ├── App.css
│ ├── App.tsx
│ ├── firebase.ts
│ ├── index.css
│ ├── index.tsx
│ ├── logo.svg
│ ├── react-app-env.d.ts
│ ├── reportWebVitals.ts
│ └── setupTests.ts
├── .gitignore
├── package.json
├── README.md
└── tsconfig.json