✨ Project Description
About my application
1. The cinema management system - is a full-stack project designed to manage members’ subscriptions in my cinema.
2. The architecture of the system - is based on MERN Stack development. The backend side consists of two Node JS servers as a REST API (CinemaWS, SubscriptionsWS) that use two external web services to provide main data, 240 movies, and 10 members, the database is based on Mongo DB and includes several collections such as movies, members, subscriptions, messages, conversations and users, and two JSON files inside one of the servers (CinemaWS) that store the users' information and permissions. The frontend side was implemented using JavaScript using advanced features and capabilities of the popular React JS library such as redux toolkit, context, custom hooks, and multiple third-party modules such as formik, yup, framer-motion, moment, date-fns, apexcharts, etc.
3. This system provides - an easy interface and good control for users to manage the members’ subscriptions on my cinema. After logging in, the system navigates to the default page as a dashboard that displays important and statistical data about the system's activity such as the number of movies, the number of online users, the number of subscriptions, a bar graph of the number of subscribers in the current year per month, popular movies, etc.
4. The main part of the system - includes “chat”, “movies”, “subscriptions” and “recommendations” models. The "chat" model is used as a “corporate chat” and allows users to communicate through messages in real time. The “movies” model shows all the movies with their descriptions and allows you to perform all the CRUD operations (create, get, update, and delete movies). The “subscriptions” model shows all members with their previous and future subscriptions, in this model, we can manage member's data, add a new subscription, or change a future subscription. The “recommendations” model uses the collaborative-filter approach to offer movie recommendations to a certain member according to similar members.
5. The last part of the system - has a user management component, which displays all system users and their permissions. The permissions include viewing, updating, creating, and deleting actions related to the movie and subscription management system. A user assigned all permissions (view, update, create, delete) of movie and subscription models becomes a user owner and manager which gets additional permissions including view, update, create, and delete operations related to the user model. Only authorized users can log in to the system.
6. The registration step - for a new user is done in two steps, first, the owner must create a new user without a password, second, the user must navigate to the registration page for the first time and register by entering a password, after which a user can enter the system.
5 reasons why to use MERN Stack technologies?
The MERN Stack offers several advantages for building web applications and systems such as:
1. Full-stack JavaScript - MERN Stack enables to write both the client-side and server-side code in JavaScript.
2. Flexibility and Scalability - MongoDB, a NoSQL database, provides flexibility in data modelling and scalability. Node.js, known for its event-driven, non-blocking I/O model, enhances the scalability of server-side code by handling multiple concurrent connections efficiently.
3. React for UI Components - React.js, a popular JavaScript library for building user interfaces, offers a component-based architecture that facilitates the development of reusable UI components. This modularity enhances code maintainability and reusability, resulting in faster development cycles.
4. Express.js for Server-side Routing - Express.js, a minimalist web application framework for Node.js, simplifies server-side routing and middleware integration. It provides robust features for handling HTTP requests, defining routes, and managing application logic, thereby accelerating the development of server-side components.
5. JSON-based Communication - MERN Stack utilizes JSON (JavaScript Object Notation) for data interchange between the client and server, offering a lightweight and efficient communication mechanism. This facilitates seamless integration between frontend and backend components, enabling real-time data updates and enhancing user experience.
✨My Project in GitHub
https://github.com/basheermulla/Cinema-man...
✨ Author
Basheer Mulla
LinkedIn: @https://www.linkedin.com/in/basheer-mulla-...
✨ Another video tutorial - explaining the architecture of the cinema management system implemented in the MERN
• A tutorial, cinema subscriptions system in...
Информация по комментариям в разработке