Backend API for FilmPulse, a full-stack movie discovery platform.
The server provides authentication, user management and movie favorites functionality for the FilmPulse frontend.
- User registration
- User authentication
- JWT-based authorization
- User-specific favorite movies
- MongoDB data persistence
- REST API
- Middleware-based authentication
- Integration with the FilmPulse frontend
- Node.js
- Express.js
- MongoDB
- JWT
- JavaScript
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
The FilmPulse server is responsible for:
Handles user registration, login and JWT-based authentication.
Manages authenticated user information.
Allows authenticated users to save and manage movies in their personal favorites collection.
The application uses the TMDB API as the source of movie information.
The frontend application is maintained separately:
FilmPulse: https://github.com/gitmarah/filmpulse
Live Demo: https://film-pulse.netlify.app/
- Node.js
- npm
- MongoDB database
- TMDB API credentials where required
Clone the repository:
git clone https://github.com/gitmarah/filmpulseserver.git
cd filmpulseserverInstall dependencies:
npm installCreate 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.
Use the appropriate npm script defined in package.json.
For example:
npm startor, if a development script is available:
npm run devAuthentication 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.
FilmPulse Server is the backend API for the deployed FilmPulse application.
Abubakarr Marah
- GitHub: https://github.com/gitmarah
- Portfolio: https://bokari.netlify.app/
- LinkedIn: https://www.linkedin.com/in/abubakarr-marah-638648377/