Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/abdallahhemdan/oud

🎡 The frontend of Oud, an online music streaming service that is a mimic of Spotify with all its functionalities built using ReactJS, React-Router, Bootstrap.
https://github.com/abdallahhemdan/oud

clone-spotify cufe-2022 front-end-development frontend hemdan home mimic music music-card music-player music-player-application oud react-js react-router reactjs software-engineering spotify

Last synced: about 4 hours ago
JSON representation

🎡 The frontend of Oud, an online music streaming service that is a mimic of Spotify with all its functionalities built using ReactJS, React-Router, Bootstrap.

Awesome Lists containing this project

README

        




Logo With Title (7)


Oud Front-End

[![GitHub contributors](https://img.shields.io/github/contributors/AbdallahHemdan/oudFrontend)](https://github.com/AbdallahHemdan/oudFrontend/contributors)
[![GitHub issues](https://img.shields.io/github/issues/AbdallahHemdan/oudFrontend)](https://github.com/AbdallahHemdan/oudFrontend/issues)
[![GitHub forks](https://img.shields.io/github/forks/AbdallahHemdan/oudFrontend)](https://github.com/AbdallahHemdan/oudFrontend/network)
[![GitHub stars](https://img.shields.io/github/stars/AbdallahHemdan/oudFrontend)](https://github.com/AbdallahHemdan/oudFrontend/stargazers)
[![GitHub license](https://img.shields.io/github/license/AbdallahHemdan/oudFrontend)](https://github.com/AbdallahHemdan/oudFrontend/blob/master/LICENSE)



## Table of Contents

- [About the Project](#about-the-project)
- [Build with](#build-with)
- [Getting Started](#getting-started)
- [Installation](#installation)
- [Running](#running)
- [Screenshots](#screenshots)
- [Videos](#videos)
- [File Structure](#file-structure)
- [Unit Testing](#unit-testing)
- [Running Unit tests](#running-unit-tests)
- [Generating Coverage Report](#generating-coverage-report)
- [Functional Documentation](#functional-documentation)
- [Contributing](#contributing)
- [Contributors](#contributors)
- [License](#license)

## About The Project
> **Oud** is an online music streaming service which is a mimic of [Spotify](https://open.spotify.com/) with all its functionalities

### Build with
- [React JS](https://reactjs.org/)
- [React Router](https://reacttraining.com/react-router/web/guides/quick-start)
- [HowlerJS](https://github.com/goldfire/howler.js/)
- [Bootstrap](https://getbootstrap.com/)
- [Jest](https://jestjs.io/)
- [Enzyme](https://enzymejs.github.io/enzyme/)
- [JSDOC](https://jsdoc.app/)
- [Json-Server](https://github.com/typicode/json-server)
- [Axios](https://github.com/axios/axios)

## Getting Started
> This is an list of needed instructions to set up your project locally, to get a local copy up and running follow these instructuins.

### Installation

1. **_Clone the repository_**

```sh
$ git clone https://github.com/AbdallahHemdan/oudFrontend.git
```
2. **_Navigate to repository directory_**
```sh
$ cd oudFrontend
```

3. **_Install dependencies_**

```sh
$ npm install
```

### Running

1. **_Running on development mode_**
```sh
$ npm run json:server
$ npm run dev
```

2. **_Running on production mode_**
```sh
$ npm run prod
```

### Screenshots



![image](https://user-images.githubusercontent.com/40190772/79008135-01c3b700-7b5d-11ea-85c9-9f1e166e299b.png)


![25](https://user-images.githubusercontent.com/40190772/80294151-aa316800-8766-11ea-89dd-07cfc32b27f6.png)


![chrome_1JjJ8yfh7A](https://user-images.githubusercontent.com/40190772/84220765-e54be880-aad3-11ea-8b58-6e1d32654290.png)


![image](https://user-images.githubusercontent.com/40190772/84220506-40311000-aad3-11ea-866e-06e33a1adbf3.png)


![image](https://user-images.githubusercontent.com/40190772/79008263-418a9e80-7b5d-11ea-9433-c8d7791a9b81.png)


![image](https://user-images.githubusercontent.com/40190772/84220551-563ed080-aad3-11ea-8e68-e85759a8f596.png)


![62](https://user-images.githubusercontent.com/40190772/80294147-a6054a80-8766-11ea-95c5-187fb180b2b8.png)


![55](https://user-images.githubusercontent.com/40190772/80294153-ae5d8580-8766-11ea-82a2-bab3d5e43f2b.png)


![52](https://user-images.githubusercontent.com/40190772/80294154-b0bfdf80-8766-11ea-837f-05e2d94cbe2e.png)


![59](https://user-images.githubusercontent.com/40190772/80294155-b1587600-8766-11ea-87df-ee84c2612d3a.png)


![102](https://user-images.githubusercontent.com/40190772/80294334-bb7b7400-8768-11ea-8132-a46f1579769a.png)


![94604376_255790072229844_6882535695697575936_n](https://user-images.githubusercontent.com/40190772/80294339-bf0efb00-8768-11ea-96de-0e69c7fcd342.png)


![94707053_226074958669096_6818316481399357440_n](https://user-images.githubusercontent.com/40190772/80294340-c0402800-8768-11ea-86ac-684f4ec55b6a.png)


![94688968_251064116040980_741229785270714368_n](https://user-images.githubusercontent.com/40190772/80294341-c0d8be80-8768-11ea-8f5f-7c64283ada45.png)
![101](https://user-images.githubusercontent.com/40190772/80294342-c1715500-8768-11ea-8d5a-f65901cde402.png)


![71](https://user-images.githubusercontent.com/40190772/80294566-735d5100-876a-11ea-98e8-fd1990850aa5.png)

### Videos
- [Player](https://drive.google.com/file/d/1KOHOJDGaLeumGqQenzCeeShPqIudCJBX/preview)

## File Structure

Oud-Frontend
β”œβ”€β”€ README.md
β”œβ”€β”€ LICENSE
β”œβ”€β”€ CONTRIBUTING.md
└── oudfrontend
β”œβ”€β”€ node_modules
β”œβ”€β”€ package.json
β”œβ”€β”€ jsdoc.conf.json
β”œβ”€β”€ .env-cmdrc.json
β”œβ”€β”€ .gitignore
β”œβ”€β”€ build
β”œβ”€β”€ public
β”‚ β”œβ”€β”€ favicon.ico
β”‚ └── index.html
└── src
β”œβ”€β”€ assets
β”‚ β”œβ”€β”€ images
β”‚ └── fonts
β”œβ”€β”€ api
| β”œβ”€β”€ db.json
| └── routes.json
β”œβ”€β”€ components
| β”œβ”€β”€ Account
| β”œβ”€β”€ CategoryHeader
| β”œβ”€β”€ likedSongs
| β”œβ”€β”€ Navbar
| β”œβ”€β”€ Sidebar
| β”œβ”€β”€ album
| β”œβ”€β”€ commonComponents
| β”œβ”€β”€ MainContent
| β”œβ”€β”€ Playlist
| β”œβ”€β”€ Subheader
| β”œβ”€β”€ Card
| β”œβ”€β”€ CreatePlaylist
| β”œβ”€β”€ MusicCard
| β”œβ”€β”€ Profile
| β”œβ”€β”€ WebPlayer
| β”œβ”€β”€ CategoryBody
| β”œβ”€β”€ GenreCard
| β”œβ”€β”€ MusicItem
| └── SeeAll
β”œβ”€β”€ config
| └── environment.js
β”œβ”€β”€ pages
| β”œβ”€β”€ Account
| β”œβ”€β”€ Home
| β”œβ”€β”€ Profile
| └── Search
β”œβ”€β”€ routes
β”œβ”€β”€ utils
| └── index.js
β”œβ”€β”€ App.css
β”œβ”€β”€ App.js
β”œβ”€β”€ index.css
β”œβ”€β”€ index.js
└── setupTests.js

## Unit testing
> Each component in our project has its own unit test file separately eg. MusicCard.test.js

### Running Unit tests
> Run the following command.
```sh
npm run test
```

### Generating Coverage Report
> After running the following command an html version will be generated and located at coverage\index.html.
```sh
npm run test:coverage
```

## Functional Documentation
> Run the following command to generate the functional documentation report in docs/index.html
```sh
npm run docs
```

## Contributing

> Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.

Check out our [contributing guidelines](https://github.com/AbdallahHemdan/oudFrontend/blob/master/CONTRIBUTING.md) for ways to contribute.

## Contributors
> Thanks goes to these wonderful people in the frontend team.




abdallah hemdan


Abdallah Hemdan
πŸŽ―πŸ’»πŸ‘€


Abdallah Sbu Sedo
Abdallah Abu Sedo
πŸ’»

ahmed walid
Ahmed Walid
πŸ’»


Ahmed Ashraf
πŸ’»


Ahmed Mahboub
πŸ’»




## License

> This software is licensed under MIT License, See [License](https://github.com/AbdallahHemdan/oudFrontend/blob/master/LICENSE) for more information Β©AbdallahHemdan.