Nova is a comprehensive web application designed to offer users a seamless and intuitive experience when interacting with movies and TV shows. This application is built with modern web development technologies and adheres to the best practices in user interface design, ensuring a responsive and visually appealing user experience. Nova includes robust features such as user authentication, profile management, and interactive information cards. The application is designed with a dark theme to enhance visual comfort and focus, making it ideal for prolonged usage.
The main objective of Nova is to provide a platform where users can effortlessly browse, search, and explore detailed information about their favorite movies and TV shows. Whether it's viewing the latest releases, popular trends, or detailed cast and crew information, Nova offers a holistic view of the entertainment world. Integration with external APIs ensures that the information is always up-to-date and accurate.
- Features
- Technologies Used
- Getting Started
- Installation
- Usage
- Connecting to a Database
- Contributing
- Contact
- Screenshots
- User Authentication: Secure and efficient user authentication mechanisms allowing users to sign in, register, and log out. Authentication is handled using JSON Web Tokens (JWT) for secure session management.
- Profile Management: Users can view and update their profile information, including personal details, preferences, and more. The profile management system is designed to be user-friendly and accessible.
- Responsive Design: The application is fully responsive, providing an optimal viewing experience across a wide range of devices, from desktop computers to mobile phones.
- Dark Theme: A beautiful dark theme is applied throughout the application, enhancing visual comfort and reducing eye strain during prolonged usage.
- Interactive Information Cards: Detailed and interactive cards provide users with essential information about movies and TV shows, including synopses, ratings, runtime, and cast details.
- Integration with External APIs: The application integrates with external APIs to fetch real-time data about movies and TV shows, ensuring that users always have access to the latest information.
- Dynamic Search Functionality: Users can search for movies and TV shows using a dynamic search functionality that provides instant results as they type.
- Detailed Movie and TV Show Pages: Each movie and TV show has a dedicated page with comprehensive details, including production information, cast and crew, and related media.
- Frontend: React, Redux, Tailwind CSS
- Backend: Node.js, Express.js
- Database: MongoDB
- Authentication: JWT (JSON Web Tokens)
To get a local copy up and running follow these simple steps.
- Node.js
- npm or yarn
- Clone the repo
git clone https://github.com/yourusername/Nova.git
- Install NPM packages for both client and server
cd Nova npm install cd client npm install
- Run the development server
Copy code cd Nova npm run dev
- Open http://localhost:4000 to view it in the browser.
To ensure Nova functions correctly, you need to set up a connection to MongoDB (or any other DB of your choice) and configure the use of MONGO_URL. Follow the steps below to set up your environment:
-
Create a MongoDB Account: If you don't have one already, sign up for a MongoDB account at MongoDB Atlas. Then you need to create a database to which you'll get a URL to access the DB.
-
Configure Environment Variables:
- Create a
.env
file in the root of your project. - Add your MongoDB connection string to the
.env
file:MONGO_URI=your_mongodb_connection_string
- Create a
-
similary make a JWT_SECRET variable in your .env file and assign to it a value of your choice.
-
You also need to assign a port number of your choice to PORT in .env for hosting the backend server.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (git checkout -b feature/AmazingFeature)
- Commit your Changes (git commit -m 'Add some AmazingFeature')
- Push to the Branch (git push origin feature/AmazingFeature)
- Open a Pull Request
Praneeth Chandra - @praneethswarna - praneethchandra123 - spraneethchandra123@gmail.com
Project Link: https://github.com/mazerunner1001/Nova