https://github.com/mmaffi/musicgallery-fullstack-postgresql
https://github.com/mmaffi/musicgallery-fullstack-postgresql
Last synced: 11 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/mmaffi/musicgallery-fullstack-postgresql
- Owner: MMaffi
- License: mit
- Created: 2025-08-06T16:19:40.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-08-23T11:35:08.000Z (11 months ago)
- Last Synced: 2025-08-23T17:24:20.178Z (11 months ago)
- Language: JavaScript
- Homepage: https://musicgallery.vercel.app
- Size: 834 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ๐ต Music Gallery Fullstack
> An interactive gallery of music videos, focused on high-quality covers, built with a modern fullstack architecture.
[](LICENSE)
[](https://reactjs.org/)
[](https://nodejs.org/)
[](https://www.mysql.com/)
---
## ๐ธ Overview
**Music Gallery Fullstack** is the advanced version of the static website [Music Gallery](https://mmaffi.github.io/MusicGallery), now with complete features such as:
- User authentication and login
- Personalized settings persisted in the database
- Light/dark theme with per-user preferences
- Multilanguage support (i18n with `react-i18next`)
- Integration with the YouTube API (featured & latest videos)
- Music suggestion form
- Modern and responsive interface
---
## ๐ง Key Features
### ๐ Authentication
- Register and Login authentication
- Route protection based on user authentication
### โ๏ธ User Settings
- Preferences stored in the database (theme, language, notifications)
- Elegant settings modal using CSS variables for theming
### ๐ฌ Video Display
- Highlighted featured video section
- Dynamic video gallery powered by the YouTube API
- View count display in the video modal
- Infinite scroll and "Load More" functionality
### ๐ Internationalization
- Support for Portuguese, English, and Spanish
- JSON-based translations integrated with `react-i18next`
### ๐ฌ Music Suggestions
- Suggestion page with email delivery via backend
- Real-time feedback on form submission
---
## ๐ Project Structure
```bash
musicgallery-fullstack/
โ
โโโ backend/ # Node.js + Express API
โ โโโ controllers/ # API endpoint logic
โ โโโ db/ # Database models (Users, Settings, etc.)
โ โโโ middleware # auth.js
โ โโโ routes/ # API routes
โ โโโ index.js # Server entry point
โโโ frontend/ # React application
โ โโโ public/ # Public assets (manifest, icons, etc.)
โ โโโ src/
โ โ โโโ components/ # Reusable components (Navbar, Footer, etc.)
โ โ โโโ context/ # React contexts (auth, settings, etc.)
โ โ โโโ i18n/ # i18n config and translation files
โ โ โโโ pages/ # Application pages (Home, Suggestions, etc.)
โ โ โโโ styles/ # Modular and responsive CSS
โ โ โโโ main.jsx # React app entry point
โ โโโ vite.config.js # Vite build configuration
```
## ๐ Technologies Used
```
| Layer | Stack |
|---------------|------------------------------------------------------------------------|
| Frontend | React, Vite, CSS, i18next |
| Backend | Node.js, Express, Nodemailer |
| Database | PostgreSQL |
| External APIs | YouTube Data API v3 |
```
---
## ๐ ๏ธ Installation & Setup
### ๐ง Prerequisites
- Node.js โฅ 18
- PostgreSQL โฅ 15
### ๐ฆ Installation
```bash
git clone https://github.com/MMaffi/musicgallery-fullstack.git
cd musicgallery-fullstack
```
### ๐ Backend
```bash
cd backend
cp .env.example .env
npm install
npm run build
```
### ๐จ Frontend
```bash
cd frontend
npm install
npm run build
```
## ๐งช Future Improvements
- Favorite system and user-created playlists
- Admin dashboard to manage suggestions
- Advanced search and filtering by genre/artist
- Custom video uploads by users
---
## ๐ค Contributing
Contributions are welcome! Feel free to open **issues**, **fork** the repository, and submit **pull requests**.
```bash
# Create your branch
git checkout -b my-feature
# Commit your changes
git commit -m "Add new feature"
# Push to remote
git push origin my-feature
```
## ๐ License
This project is licensed under the [MIT License](LICENSE).
---
## ๐งโ๐ป Developed by
**Mateus Maffi**
[GitHub](https://github.com/MMaffi) โข [LinkedIn](https://www.linkedin.com/in/mateusmaffi)
---
## โญ Give a Star!
If you like this project, consider giving it a โญ on the repository. It really helps!