Skip to content

ASEGIDADANE/movie-app-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Movie Backend API

A robust and scalable backend API for a movie management system built with Node.js, Express, and TypeScript. This API provides endpoints for movie management, user authentication, and related operations.

🚀 Features

  • User Authentication (JWT-based)
  • Movie Management
  • Secure Password Hashing
  • Input Validation using Zod
  • MongoDB Integration
  • TypeScript Support
  • CORS Enabled
  • Environment Variable Configuration

🛠️ Technologies

  • Node.js
  • Express.js
  • TypeScript
  • MongoDB
  • JWT Authentication
  • Zod Validation
  • Bcrypt
  • Axios

📋 Prerequisites

  • Node.js (v14 or higher)
  • MongoDB
  • npm or yarn

🔧 Installation

  1. Clone the repository
git clone https://github.com/yourusername/movie_backend.git
cd movie_backend
  1. Install dependencies
npm install
  1. Create a .env file in the root directory and add the following variables:
PORT=3000
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret

🚀 Running the Application

Development Mode

npm run dev

Production Build

npm run build

📁 Project Structure

src/
├── config/         # Configuration files
├── controllers/    # Route controllers
├── middlewares/    # Custom middlewares
├── models/         # Database models
├── routers/        # Route definitions
├── services/       # Business logic
├── utils/          # Utility functions
├── types.d.ts      # TypeScript type definitions
└── server.ts       # Application entry point

🔒 Environment Variables

  • PORT: Server port number
  • MONGODB_URI: MongoDB connection string
  • JWT_SECRET: Secret key for JWT token generation

📝 API Documentation

[Add your API documentation here]

🤝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

This project is licensed under the ISC License.

👥 Authors

  • Asegid Adane

🙏 Acknowledgments

  • Express.js team
  • MongoDB team
  • TypeScript team

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors