StreaMate is a mobile-first web application designed to streamline the management of streaming service subscriptions for both customers and administrators. It provides a centralized dashboard to manage profiles, payments, and user accounts, making it the perfect solution for streaming resale businesses.
- User Authentication: Secure registration and login for customers and admins.
- Customer Dashboard: Manage subscriptions, update profiles, and view payment history.
- Admin Panel: Comprehensive dashboard to manage users, services, subscriptions, and payments.
- Subscription Management: Automated handling of subscription cycles, renewals, and cancellations.
- Payment Integration: Seamlessly process payments through a third-party gateway like Stripe or PayPal.
- Responsive Design: A mobile-first interface for a great user experience on any device.
- Framework: React (with Vite)
- Styling: Tailwind CSS
- State Management: Zustand / Redux Toolkit
- Runtime: Node.js
- Framework: Express.js
- Database: MongoDB with Mongoose (or PostgreSQL)
- Authentication: JSON Web Tokens (JWT)
The project is organized in a monorepo structure with a separate frontend and backend.
.
├── backend/
│ ├── src/
│ │ ├── controllers/
│ │ ├── models/
│ │ ├── routes/
│ │ └── server.js
│ └── package.json
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ └── App.js
│ ├── public/
│ └── package.json
└── README.md
Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.
- Node.js (v18.x or later)
- npm or yarn
- A running instance of MongoDB (if using MongoDB)
-
Clone the repository:
git clone https://github.com/your-username/streamate.git cd streamate -
Install backend dependencies:
cd backend npm install -
Install frontend dependencies:
cd ../frontend npm install
-
Start the backend server:
- From the
backenddirectory, create a.envfile based on.env.exampleand add your configuration (e.g., database connection string, JWT secret). - Run the command:
npm run dev
The backend server will start on
http://localhost:5000. - From the
-
Start the frontend development server:
- From the
frontenddirectory, run the command:
npm run dev
The frontend application will be available at
http://localhost:5173. - From the
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.