Skip to content

nitishkp001/BeatSellingWebsite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Beat Publishing Website

A modern web platform for selling beats with a subscription-based model and credit system. Users can subscribe monthly to receive credits which can be used to purchase beats.

Tech Stack

Backend

  • Python 3.9+
  • Flask - Web framework
  • SQLAlchemy - Database ORM
  • Flask-Login - User authentication
  • Flask-Migrate - Database migrations
  • Stripe - Payment processing
  • PostgreSQL - Database

Frontend

  • HTML5
  • CSS3
  • TypeScript
  • Next.js 14 - Frontend framework with server-side rendering
  • Tailwind CSS - Styling
  • Axios - HTTP client
  • React Router - Client-side routing

Development Tools

  • Git - Version control
  • Docker - Containerization (optional)
  • npm - Package management for frontend
  • pip - Package management for backend

Features

  • 🎵 Beat marketplace with audio preview
  • 💳 Subscription-based model
  • 🪙 Credit system for purchasing beats
  • 👤 User authentication and profiles
  • 🛒 Shopping cart functionality
  • 💰 Secure payment processing
  • 📱 Responsive design
  • 🎨 Modern UI/UX

Project Structure

beat-publishing-website/
├── backend/
│   ├── app/
│   │   ├── models/
│   │   ├── routes/
│   │   ├── services/
│   │   └── utils/
│   ├── migrations/
│   ├── config.py
│   └── requirements.txt
├── frontend/
│   ├── public/
│   ├── src/
│   │   ├── components/
│   │   ├── pages/
│   │   ├── services/
│   │   └── styles/
│   ├── package.json
│   └── tailwind.config.js
└── README.md

Requirements

System Requirements

  • Python 3.9 or higher
  • Node.js 16.x or higher
  • npm 8.x or higher
  • PostgreSQL 13 or higher

Python Dependencies

Flask==3.0.0
Flask-SQLAlchemy==3.1.1
Flask-Login==0.6.3
Flask-WTF==1.2.1
Flask-Migrate==4.0.5
python-dotenv==1.0.0
stripe==7.10.0
bcrypt==4.1.2
email-validator==2.1.0.post1

Frontend Dependencies

Key dependencies will be managed through package.json:

  • next
  • typescript
  • @types/react
  • @types/node
  • tailwindcss
  • axios
  • @headlessui/react
  • @heroicons/react

Getting Started

  1. Clone the repository

  2. Set up the backend:

    cd backend
    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    pip install -r requirements.txt
  3. Set up the frontend:

    cd frontend
    npx create-next-app@latest . --typescript --tailwind --eslint
    npm install axios @headlessui/react @heroicons/react
  4. Set up environment variables: Create a .env file in the backend directory with:

    FLASK_APP=app
    FLASK_ENV=development
    DATABASE_URL=postgresql://localhost/beat_publishing
    STRIPE_SECRET_KEY=your_stripe_secret_key
    STRIPE_PUBLISHABLE_KEY=your_stripe_publishable_key
    
  5. Initialize the database:

    flask db upgrade
  6. Run the application:

    • Backend: flask run
    • Frontend: npm run dev

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages