https://github.com/quentingenet/vinylkeeper
Free and open-source, Vinyl Keeper is your go-to solution for effortlessly managing your vinyl collection with fun
https://github.com/quentingenet/vinylkeeper
backend diesel fastapi frontend javascript jwt-authentication material-ui postgresql pydantic python python3 react rocket rust scss sqlalchemy typescript
Last synced: 6 months ago
JSON representation
Free and open-source, Vinyl Keeper is your go-to solution for effortlessly managing your vinyl collection with fun
- Host: GitHub
- URL: https://github.com/quentingenet/vinylkeeper
- Owner: quentingenet
- License: gpl-3.0
- Created: 2024-08-03T07:35:25.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-24T19:56:28.000Z (12 months ago)
- Last Synced: 2024-10-25T01:47:42.555Z (12 months ago)
- Topics: backend, diesel, fastapi, frontend, javascript, jwt-authentication, material-ui, postgresql, pydantic, python, python3, react, rocket, rust, scss, sqlalchemy, typescript
- Language: TypeScript
- Homepage: https://vinyl-keeper.quentingenet.fr/
- Size: 7.47 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Vinyl Keeper







**VinylKeeper** is a free and open-source application released under the Copyleft license.
Vinyl Keeper is your go-to solution for effortlessly managing your vinyl collection while respecting your data and privacy.
Coming soon on [VinylKeeper here!](https://vinylkeeper.org/)## Technologies
**VinylKeeper** is developed using:
- **[Python](https://www.python.org/)** with **[FastAPI](https://fastapi.tiangolo.com/)** for the main API.
- **[Rust](https://www.rust-lang.org)** with **[Rocket](https://rocket.rs)** also for another version of the API.
- **[React](https://reactjs.org)** and **[TypeScript](https://www.typescriptlang.org/)** for the frontend
- **[PostgreSQL](https://www.postgresql.org/)** for the database## How to run the project?
### Prerequisites
Ensure the following are installed on your machine:
- [Rust](https://www.rust-lang.org)
- [Node.js](https://nodejs.org/)
- [npm](https://www.npmjs.com/) or [yarn](https://yarnpkg.com/)
- [Python](https://www.python.org/)
- [FastAPI](https://fastapi.tiangolo.com/)### Clone the repository
```bash
git clone https://github.com/quentingenet/vinylkeeper.git
```
**Don't forget to create your personal .env.development file for the environment variables used in the project (front and back), to do that you can use the .env.template.contributors file**### Backend Setup
Navigate to the backend folder, install dependencies, and run migrations:```bash
cd vinylkeeper/vinylkeeper_back
cargo build
# (Optional) If using Diesel migrations
diesel migration run
cargo run
```
or if you want to run the backend with FastAPI(poetry):
```bash
cd vinylkeeper/vinylkeeper_back
poetry install
# make migrations
poetry alembic upgrade head
# run the server
poetry run uvicorn app.main:app --reload
```
The backend server runs at **http://localhost:8000**### Frontend Setup
In a separate terminal, navigate to the frontend folder, install dependencies, and start the server:```bash
cd vinylkeeper/vinylkeeper_front
npm install
npm run dev
```
Visit **http://localhost:5173** in your browser to access the VinylKeeper application.## How to contribute?
We welcome contributions to improve Vinyl Keeper! To contribute:
1. Fork this repository.
2. Create a feature branch **from develop** (`git checkout -b features/AmazingFeature`).
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`).
4. Push to the branch (`git push origin features/AmazingFeature`).
5. Open a Pull Request.The project promotes the four essential freedoms:
1. Freedom to use the software.
2. Freedom to modify the software.
3. Freedom to share the software.
4. Freedom to share your modifications.## Author and contributors
- Quentin GENET
- You like vinyl, music and web development and is motivated to contribute seriously ? Maybe you can contribute ? 😄🚀