Skip to content

ScreenPulse is the frontend part of a full stack application built with Angular, integrated with a custom backend API built with Node.js and Express and MongoDB Atlas for database storage. The frontend allows users to search for movies, series, or video games in the OMDB API, view detailed information and save favorites to collections after login

Notifications You must be signed in to change notification settings

EduGese/ScreenPulse-frontApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ScreenPulse ๐ŸŽฌ๐ŸŽฎ

ScreenPulse is the frontend part of a full stack application built with Angular, integrating with a custom backend API built with Node.js and Express, and MongoDB Atlas for database storage. The frontend allows users to search for movies, series, or video games in the OMDB API, view detailed information, and save favorites to collections after registering and logging in.

Features โœจ

  • Search: Search for movies, series, or video games
  • Sort: Sort results by title, year, or type
  • Details: Get detailed information such as director, actors, year, plot, etc.
  • Authentication: User registration and login for authentication and authorization
  • Favorites: Save items to your favorites collection
  • Favorites Page: Allows you to:
    • View all items, movies, series, or video games collections
    • Filter by title and sort by title or year
    • Add your own reviews/notes

Technologies & Libraries ๐Ÿ› ๏ธ

API Integration ๐ŸŒ

  • ScreenPulse Backend API: This API server manages user authentication, connections to the MongoDB database, and requests to external APIs such as the OMDB API. It provides endpoints for user registration, login, saving favorites, and retrieving data from the database.
  • OMDB API: Provides the data source for movie, series, and video game information.

Angular Architecture ๐Ÿ—๏ธ

ScreenPulse is optimized for modularity and scalability, using lazy loading for performance:

  • Core Module: Houses core functionalities like guards and services, eagerly loaded for application-wide availability.
  • Feature Modules: Each page or feature has its module with components, services, and routing configurations, lazily loaded to minimize initial load time.
  • Shared Module: Centralizes reusable components, services, and models for easy access across feature modules, fostering code reusability.
  • App Module and Routing: The main AppModule handles bootstrapping and imports the AppRoutingModule for application-level routing. Lazy loading improves performance by loading feature modules on-demand.

Lazy loading ensures swift load times, resource efficiency, and a seamless user experience while maintaining a modular codebase.

UX/UI Design ๐ŸŽจ

ScreenPulse combines ng-bootstrap, Angular Material, and custom components to create an engaging user experience. These libraries also speed up the development process and ensure consistency in page design.

Responsive ๐Ÿ“ฑ๐Ÿ’ป

ScreenPulse is designed to be responsive, ensuring a seamless user experience across all devices, including desktop computers, tablets, and mobile phones.

Desktop Devices ๐Ÿ’ป

ScreenPulse offers a rich and immersive experience on desktop devices, with a spacious layout that maximizes screen real estate and enhances usability.

Macbook-Air-localhost Macbook-Air-localhost (5) Macbook-Air-localhost (2) Macbook-Air-localhost (3) Macbook-Air-localhost (4)

Mobile Devices ๐Ÿ“ฑ

ScreenPulse offers a rich and immersive experience on desktop devices, with a spacious layout that maximizes screen real estate and enhances usability.

iPhone-12-PRO-localhost iPhone-12-PRO-localhost (5) iPhone-12-PRO-localhost (2) iPhone-12-PRO-localhost (3) iPhone-12-PRO-localhost (4)

Demo

https://sreenpulse.web.app/

Development Server

Run ng serve for a dev server. Navigate to http://localhost:4200/. The application will automatically reload if you change any of the source files.

Code Scaffolding

Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.

Build

Run ng build to build the project. The build artifacts will be stored in the dist/ directory.

Running Unit Tests

Run ng test to execute the unit tests via Karma.

Running End-to-End Tests

Run ng e2e to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.

Further Help

To get more help on the Angular CLI use ng help or go check out the Angular CLI Overview and Command Reference page.

License

This project is licensed under the MIT License.

About

ScreenPulse is the frontend part of a full stack application built with Angular, integrated with a custom backend API built with Node.js and Express and MongoDB Atlas for database storage. The frontend allows users to search for movies, series, or video games in the OMDB API, view detailed information and save favorites to collections after login

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published