This is a web application built using React (Create React App), template - Typescript and Sanity-IO serving as our Content Management System.
- Landing
- Home - landing page for a signed in user
- Categories
- Search
- Article - single view for an article
- Articles per selected category
- Articles per author
- Create article
- User profile - Both my profile and edit profile pages
- The data on the application is from Sanity.io CMS.
- I also used firebase authentication for user management.
- I used storybook js to document all common or shared components. To view published components click here
Dependencies
- Mantine v5.8.2: Base CSS framework
- Redux v4.2.0: State management
- Date-fns v2.29.3: Date formatting and methods
- React-router-dom v6.4.2: Navigation in between pages and routes
- Portable-text-react v1.0.6 : Rendering rich text as HTML
- React-helmet v6.1.0: Accessing native HTML tags in react components
- React icons v4.6.0 and Tabler icons v1.112.0: Icons usage
- Slugify v1.6.5: Dynamic URL sanitization
- Storybook v6.5.16: Component documentation
Dev dependencies
- eslint v8.26.0 - https://eslint.org/docs/latest/user-guide/getting-started
Before proceeding, please ensure you have the following software installed on your computer.
- Node
- Yarn (optional but recommended)
- Git command line tools
- Download Git cli -
- Download Node - https://nodejs.org/en/
- Download Yarn cli - https://yarnpkg.com/lang/en/docs/install/
- Download VSCode - https://code.visualstudio.com/
Please fork a copy of this repository. Forking a repository allows you to freely experiment with changes without affecting the original project. Alternatively download or clone the master branch.
Clone the repo to your machine
git clone <CloneURL>
- Open a new terminal window and navigate in your root folder
cd <../root>
yarn install OR npm install
- Run the start script
yarn run start OR npm run start
Your app should be running on: http://localhost:3000
v1.0
- Default project implementation
- Kelvin Kiptum Kiprop - https://github.com/kelvink96
This project is licensed under the MIT License - see the LICENSE file for details