This project is a subscription tracker and reminder application built using Next.js with TypeScript, Supabase, and Vercel.
Subscription Tracker/Reminder is a web application designed to help users keep track of their monthly or yearly subscriptions. Users can add their subscriptions, view details, and receive reminders for upcoming payments.
The application supports both authenticated and non-authenticated modes. In the non-authenticated mode, users can add subscriptions without logging in, and the data will be saved in the browser. Users can later sync this data after signing up or logging in.
- Add Subscriptions: Users can add all their subscriptions, specifying whether they are monthly or yearly.
- Authentication: Supports both authenticated and non-authenticated modes.
- Sync Data: Non-authenticated users can later sync their subscriptions after signing up or logging in.
- View Subscriptions: Users can view details of their subscriptions, including payment dates and amounts.
- Reminder Emails: Users will receive reminder emails when the next payment for a subscription is due.
- Import Subscriptions: Users will be able to import subscriptions from their credit card statements.
To get started with the project, follow these steps:
-
Clone the repository:
git clone https://github.com/your-username/subscription-tracker.git
-
Install dependencies:
cd subscription-tracker
npm install
-
Set up Supabase:
- Create an account on Supabase (https://supabase.io/).
- Create a new project and note down the URL and API key.
-
Configure environment variables:
- Create a
.env.local
file in the root directory. - Add the following environment variables:
NEXT_PUBLIC_SUPABASE_URL=YOUR_SUPABASE_URL
NEXT_PUBLIC_SUPABASE_ANON_KEY=YOUR_SUPABASE_ANON_KEY
- Create a
-
Run the development server:
npm run dev
-
Open https://localhost:3000 in your browser.
Once the application is running, users can:
- Add subscriptions by clicking on the "+" button and filling in the details.
- View existing subscriptions on the dashboard.
- Sign up or log in to sync data across devices and receive reminder emails (upcoming feature).
Contributions are welcome! If you'd like to contribute to the project, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/my-feature
). - Make your changes.
- Commit your changes (
git commit -am 'Add new feature'
). - Push to the branch (
git push origin feature/my-feature
). - Create a new Pull Request.
This project is licensed under the MIT License.