MediaTown is a React and TypeScript application that provides a dynamic platform for managing a variety of media types such as movies, TV shows, and games. The application uses a mock JSON server to simulate data storage and retrieval, making it an excellent tool for both development and demonstration purposes.
- CRUD Operations: Create, read, update, and delete media entries.
- Search Functionality: Filter through the media list with ease.
- Custom Validation Rules: Ensures data integrity during creation or editing of media entries.
- Responsive Design: Optimized for a seamless experience across various devices.
Clone the project
git clone git@github.com:nickshvetsdev/mediatown.git
Install all the necessary packages
npm install
Navigate to the /api folder:
cd api
Start the JSON server:
npm start:api -> This command starts the backend server which listens for API requests.
In a separate console, or a separate tab in the root directory of the project, run:
npm run start:web
The application allows for the management of media items in a user-friendly interface. Users can perform the following actions:
- Add a new media entry: Click on 'Create' and fill in the details in the modal form.
- Edit an existing media entry: Choose an entry from the list and modify its details.
- Delete a media entry: Select an entry and confirm its deletion.
- Search for media: Utilize the search bar to find specific media items.
- Filter by Media Type: Users have the option to filter content by media types such as movies, TV shows, and games.
Each action is validated to ensure data consistency and integrity.
Built With
- React - The web framework used
- TypeScript - Programming language
- Redux - State management
- Styled Components - For styling
- React Toastify - For notifications
- JSON Server - For mock backend
Distributed under the MIT License.

