Why Gists are so popular? In open source community you want to create content & share it with people. With Gists you can create public content, code fragment, configuration files & files. You can share it with people, search it on Github, save it to your profile & much more. In this assignment you are going to provide a better solution for Managing Gists
- As you open the app, you see landing screen with a list of Gists in it.
- List will contain paginated
public gists
from github. - Page will have two layouts to view the gists
- Use the toggle to Switch Between the Layouts
- Page will also contain a header with
- Once you click
login
menu, it will allow the user to login using github.- Maintain user session
- Once logged in, header will contain
profile
menu with picture of user.
-
Once you click any Gist from landing page, it will redirect to Gist page
-
For a Public Gist page will
- Contain the information of the Gist with owner's informations
- Allow user to give
star
- Allow user to
fork
that Gist
-
For User's Gist user will be able to
Edit
GistRemove
Gist
- Profile menu will have
Create
Submenu for creating a Gist- A gist can have multiple files. The
Add File
button will add a single file to your gist when clicked on. - Once all the files are added, clicking on
Create Gist
will create your new gist with the added files Logout
Submenu for Singing out of GithubUser Profile
Submenu for User Profile &user's Gists
- Search Bar will allow
- React
- Redux
- NodeJS
- Types using Typescript or Flow
Rest of the tools are your own choice. You can use Create React App to get started.
- Use
HTML5
semantic elements - Use
CSS3
with- Flexbox
- Grid Layout
ES6
Function Components
for Parts Responsible for Markup & RenderingClass Components
for Parts with Business LogicRedux
Integration for- State Management
- APIs Response
Higher Order Functions/Components
for atleast two componentsReact Hooks
with Function Components, if required
- API Designing
- API Routes
- Server Mounting Scripts/Configurations
Integrate eslint
with code guidelines from
airbnb
The result of this assignment should be a project source code, uploaded at GitHub. Please forward GitHub repo link to your mentor.