Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FilmPulse Server

Backend API for FilmPulse, a full-stack movie discovery platform.

The server provides authentication, user management and movie favorites functionality for the FilmPulse frontend.

Features

  • User registration
  • User authentication
  • JWT-based authorization
  • User-specific favorite movies
  • MongoDB data persistence
  • REST API
  • Middleware-based authentication
  • Integration with the FilmPulse frontend

Tech Stack

  • Node.js
  • Express.js
  • MongoDB
  • JWT
  • JavaScript

Architecture

The backend follows a modular structure separating application responsibilities.

config/
├── Database and application configuration

controllers/
├── Request handling and application logic

middleware/
├── Authentication and request middleware

models/
├── MongoDB data models

routers/
├── API route definitions

services/
├── External services and reusable application logic

index.js
└── Application entry point

API Responsibilities

The FilmPulse server is responsible for:

Authentication

Handles user registration, login and JWT-based authentication.

Users

Manages authenticated user information.

Favorites

Allows authenticated users to save and manage movies in their personal favorites collection.

External Movie Data

The application uses the TMDB API as the source of movie information.

Frontend

The frontend application is maintained separately:

FilmPulse: https://github.com/gitmarah/filmpulse

Live Demo: https://film-pulse.netlify.app/

Running Locally

Prerequisites

  • Node.js
  • npm
  • MongoDB database
  • TMDB API credentials where required

Installation

Clone the repository:

git clone https://github.com/gitmarah/filmpulseserver.git
cd filmpulseserver

Install dependencies:

npm install

Environment Variables

Create a .env file containing the environment variables required by the application.

Keep database credentials, JWT secrets, API keys and other sensitive configuration out of version control.

Start the Server

Use the appropriate npm script defined in package.json.

For example:

npm start

or, if a development script is available:

npm run dev

Security

Authentication is implemented using JSON Web Tokens.

Sensitive configuration such as:

  • JWT secrets
  • MongoDB credentials
  • API keys

should be stored using environment variables and should never be committed to the repository.

Project Status

FilmPulse Server is the backend API for the deployed FilmPulse application.

Author

Abubakarr Marah

About

REST API backend for FilmPulse, built with Node.js, Express, MongoDB, JWT authentication and user-specific favorites.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages