logo

Travis Burns

MuseFind

A mobile application for storing and discovering music

MuseFind

Technologies Used

React Native ExpoMongoDBNgrokExpressNode.jsBcryptJSON Web Tokens (JWT)

Project Details

MuseFind is a React Native application built with Expo that allows users to create music entries, browse their music feed, and play tracks. It provides a seamless and intuitive user experience for music enthusiasts to store and discover their favorite music. The application leverages MongoDB for efficient data storage and retrieval, while Ngrok is utilized for secure password hashing and salting. The key features of MuseFind include user registration and login with secure authentication, the ability to create music entries with track name, artist, genre, audio file, and image, and a personalized music feed sorted by genre. Users can easily play tracks directly from the app and filter music entries based on various criteria. Throughout the development process, skills such as React Native development, API integration, data management, and user authentication were enhanced. MuseFind provides a comprehensive solution for users to organize and explore their music collection in a user-friendly and visually appealing manner.

Project Goals

  • - Develop a user-friendly mobile application for music storage and discovery: Create an intuitive and visually appealing user interface using React Native and Expo, enabling users to easily navigate and interact with the application. Implement smooth transitions and responsive design to enhance the overall user experience.
  • - Implement secure user registration and authentication: Integrate user registration and login functionality with secure password hashing and salting using Ngrok. Ensure that user data is protected and that only authorized users can access their personal music entries.
  • - Enable users to create and manage music entries: Provide a seamless interface for users to create music entries by entering track name, artist, genre, and uploading audio files and images. Allow users to edit and delete their music entries as needed.
  • - Design and implement a personalized music feed: Develop a dynamic music feed that displays music entries sorted by genre. Implement pagination or infinite scrolling to load entries efficiently. Allow users to filter music entries based on genre, track name, artist, or other relevant criteria.
  • - Utilize MongoDB for efficient data storage and retrieval: Design and implement a MongoDB database schema to store user information, music entries, and associated metadata. Optimize database queries and indexing to ensure fast and efficient data retrieval.
  • - Implement error handling and user feedback: Handle potential errors gracefully and provide meaningful error messages to users. Display loading indicators and success/failure notifications to keep users informed about the status of their actions.

Key Accomplishments

  • - Implemented secure user registration and authentication using Ngrok for password hashing and salting
  • - Created a personalized music feed with sorting and filtering capabilities
  • - IIntegrated audio playback functionality for a seamless music listening experience

Learnings

  • Enhance skills in mobile app development and backend integration: Gain hands-on experience in using technologies such as React Native, Expo, MongoDB, Ngrok, Express, Node.js, Bcrypt, and JSON Web Tokens (JWT). Improve proficiency in mobile app development, API integration, data management, and user authentication.
  • Developed a full-stack mobile application using React Native, Expo, MongoDB, Express, and Node.js
  • Implemented secure user registration and authentication using Ngrok for password hashing and salting
  • Created a personalized music feed with sorting and filtering capabilities
  • Utilized MongoDB for efficient data storage and retrieval
  • Gained proficiency in developing mobile applications using React Native and Expo
  • Learned how to integrate backend technologies such as MongoDB, Express, and Node.js
  • Implemented secure user authentication using Ngrok for password hashing and salting
  • Acquired knowledge of data modeling and database management with MongoDB
  • Enhanced skills in API development and integration
  • Learned how to handle audio playback and streaming in a mobile application
  • Improved understanding of state management and data flow in React Native applications
  • Gained experience in implementing search and filtering functionality
  • Developed skills in error handling and providing user feedback in a mobile app context