Welcome to Twilight - a digital oasis where music and magic intertwine. Powered by the MERN stack, this sleek platform offers a personalized auditory journey. It's not just music; it's a cosmic concert of cool, where technology and melody perform a nightly serenade just for you.
- Users can curate their own playlists based on music preferences, creating a tailored sonic experience.
- Explore an intuitive platform where music genres and artists come to life through immersive visuals.
- Quickly find desired tracks, albums, or artists through a powerful search feature.
- Personalized user profiles display favorite songs and a snapshot of musical preferences.
- Dive into an immersive audio journey with a visually stunning and user-friendly music player.
-
Node.js for running server-side JavaScript.
-
MongoDB Atlas to store data about user, songs, playlists
-
A Firebase account with firebase config details for the storage which will be used to store the images and audio files being used.
- Install nodejs
- Create a mongodb atlas account and get your MONGODB URI
- Create a Firebase account and configer for storage.
- Clone this repository and install the required packages using npm.
git clone https://github.com/AMS003010/Twilight.git
cd Twilight
npm install
- Create a .env file in the backend directory and add your MONGODB_URI and also a SECRET to hash your passwords.
PORT='<port>'
MONGO_URI='<mongobd uri>'
SECRET='<key>'
- Add your firebase config details in firebase.js
import { initializeApp } from "firebase/app";
import { getStorage } from "firebase/storage";
const firebaseConfig = {
<config details>
};
const app = initializeApp(firebaseConfig);
export const storage = getStorage(app);
-
Remaining in the Twilight repository, run
cd backend
andnpm start
in the terminal with the project. -
Run
cd frontend
in another terminal andnpm start
in the terminal with the project. -
Then go to localhost:3000.
-
Use the SongUploader.js and the PlaylistUploader.js components to upload your songs and playlists on Firebase storage.
- Node.js - Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
- express - Fast, unopinionated, minimalist web framework for Node.js
- MongoDB Atlas - The cloud database for modern applications
- Mongoose - Elegant MongoDB object modeling for Node.js
- React - The library for web and native user interfaces