Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/simonc56/o-movies-back
website to explore, review and rate movies based on TMDB data
https://github.com/simonc56/o-movies-back
Last synced: about 1 month ago
JSON representation
website to explore, review and rate movies based on TMDB data
- Host: GitHub
- URL: https://github.com/simonc56/o-movies-back
- Owner: simonc56
- Created: 2024-06-19T08:02:12.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-11-25T18:04:44.000Z (about 1 month ago)
- Last Synced: 2024-11-25T19:19:55.739Z (about 1 month ago)
- Language: JavaScript
- Size: 381 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# O'Movies - back
[![Express][express-badge]](https://expressjs.com/fr/) [![Zod][zod-badge]](https://zod.dev/) [![Postgres][postgres-badge]](https://www.postgresql.org/docs/) [![Redis][redis-badge]](https://redis.io/docs/latest/) [![Swagger][swagger-badge]](https://swagger.io/)
Site web, conçu en un mois, pour les passionnés de cinéma. Il permet de consulter les informations sur les films existants et à paraître, faire des recherches, commenter, noter et faire des listes personnalisées de films.
![image](https://raw.github.com/simonc56/o-movies-front/main/screenshot.png)
La partie front-end est disponible ici : https://github.com/simonc56/o-movies-front
Source de données : [TMDB](https://www.themoviedb.org/)
[express-badge]: https://img.shields.io/badge/Express.js-blue?logo=express
[zod-badge]: https://img.shields.io/badge/-Zod-484848?logo=zod&logoColor=white
[postgres-badge]: https://img.shields.io/badge/PostgreSQL-336791?logo=postgresql&logoColor=white
[redis-badge]: https://img.shields.io/badge/Redis-DC382D?logo=redis&logoColor=white
[swagger-badge]: https://img.shields.io/badge/Swagger-85EA2D?style=flat&logo=Swagger&logoColor=black## Fonctionnalités
- Recherche de films par titre
- Affichage des films actuellement/prochainement au cinéma
- Création de compte utilisateur
- Création de playlists personnalisées
- Donner une note aux films
- Donner son avis sur les films (écrire un commentaire)
- Trier et filtrer les films par genre, date, popularité,...
- Voir la moyenne des notes données par les autres utilisateurs du site## Préparation
Créer un compte sur [The Movie Database](https://developer.themoviedb.org/docs/getting-started) pour obtenir une clé API.
Installer le SGBDR [Postgresql](https://www.postgresql.org/).
Si vous souhaitez mettre en place un cache local, installer aussi [Redis](https://redis.io/).
## Installation
Cloner le repo :
```
git clone [email protected]:simonc56/o-movies-back.git
```Installer les dépendances :
```
cd o-movies-back/
pnpm install
```Copier le `.env.exemple` en `.env` et renseigner les variables d'environnement.
Initialiser la base de données :
```
pnpm run db:init
```Le serveur est prêt à être lancé :
```
pnpm start
```ℹ️ la documentation de l'API est disponible à l'url `/api-docs/`
## Technologies utilisée
- express > https://expressjs.com/fr/
- zod > https://zod.dev/
- postgresql > https://www.postgresql.org/docs/
- redis > https://redis.io/docs/latest/
- jsdoc > https://www.npmjs.com/package/jsdoc
- jsdoc swagger > https://www.npmjs.com/package/express-jsdoc-swagger
- sequelize > https://sequelize.org/docs/v6/getting-started/
- bcrypt > https://www.npmjs.com/package/bcrypt
- regex > https://regex101.com/
- axios > https://axios-http.com/docs/intro
- jwt > https://www.npmjs.com/package/jsonwebtoken