<<<<<<< HEAD
=======
Soundwave is a web application that allows users to discover new music, explore albums, and stay up-to-date with the latest releases.
- React with Vite
- React Router for navigation
- CSS Modules for styling
- Cypress for automated testing
Follow these steps to install and run the project on your local environment:
sh git clone https://github.com/iespin/soundwave.git
sh npm install
sh npm run dev
The project will be available at http://localhost:5173 by default.
── cypress/ # Automated tests with Cypress /src ── application/ # Route configuration ── Router.jsx # Routing configuration ── assets/ # Images and graphic resources ── components/ # Reusable components ── button/ # Reusable button ── footer/ # Footer ── navbar/ # Navigation bar ── pages/ # Main pages ── discover/ # Discover page ── home/ # Home page ── join/ # Sign up page ── App.jsx # Main component of the application ── main.jsx # Application entry point ── index.css # Global styles
| Route | Description |
|---|---|
| / | Main page |
| /discover | Discover new music |
| /join | Join the community |
Automated tests have been implemented using Cypress to ensure the application's stability. The tests are located in the tests/ folder.
To open Cypress in interactive mode: sh npx cypress open
To run the tests in terminal mode: sh npx cypress run
Error handling in the application focuses on form validation:
- Sign-up form validation: It checks that the required fields are complete and valid before allowing submission.
- Dynamic error messages: Custom error messages are displayed if the entered data does not meet the requirements.
To improve accessibility, the application includes:
- Use of alt tags for images.
- Proper HTML semantics for screen readers.
- High contrast in CSS styles.
To build the application for production, use: sh npm run build
This will generate optimized files in the dist/ folder.
If you wish to contribute to the project, please:
- Fork the repository
- Create a new branch (git checkout -b new-feature)
- Make your changes and commit (git commit -m 'Add new feature')
- Push the changes (git push origin new-feature)
- Open a Pull Request
This project is licensed under the MIT License.
Developed by Guadalupe Hani, Mariana Marin, Miriam Sánchez, Priscila Guillén and Israel Espín.