Smlscrn is a simple web application that helps users discover TV shows worth watching and where to watch them. It's designed to be easily used on a TV screen. Data is provided by TMDb.
To deploy the application, you'll need an API key from TMDb. You can get one here.
After cloning the project, create a file called .env
in the root directory, and add your API key as the value for TMDB_API_KEY
.
# Inside your .env file
TMDB_API_KEY=YOURAPIKEY
At runtime, the application uses dotenv to import values inside .env
as environment variables. Since this file can have sensitive data, make sure to never commit it. The filename is included in the .gitingore
so you should be fine. You can learn more about dotenv here.
Once your API key is ready, run these commands to get up and running on your local machine.
# Install dependancies
npm install
# Run in development mode
npm run dev
Run these commands for production use.
# Clean and build application
npm run build
# Run in production mode
npm start
Smlscrn is a Node.js based application. Here are the key technologies and methodologies used in the development of this project.
- Universal (isomorphic) ES6 Javascript.
- Functional for reusable, composable Javascript.
- Immutable for consistent and predictable Javascript.
- React/Redux for simple, declarative UI development and predictable state management.
- Server-side rendering for fast client-side loading.
- Webpack for module bundling and hot-loading.
- Express for routing and REST API endpoints.
- Stylus CSS preprocessing for expressive, dynamic styling.
- BEM methodology for modular styling.
- Ramda for practical, functional Javascript.
- Karma/Mocha/Chai/Enzyme for unit testing.
- Domain-driven project structure for easier reusability, maintainability, and scalability.
MIT License. Go ahead and fork it! :) -Noah