- React with TypeScript
- Material-UI as component library
- Firebase for authentication
- Redux for state management
- RTK Query for data fetching and caching
- Nx for monorepo tool
- List Public Gists: Allow users to list recently updated public gists in card and grid view
- Gist Details: Allow users to see a detail view of individual gist
- List User Gists: Allow users to list authenticated user gists
- List User Starred Gists: Allow users to list authenticated user starred gists
- Gist Creation: Allows users to create new gists with multiple files
- Code is organzied by features and file types
- Code is co-located by feature as possible for maintainability and ease of use
- Componenets that are used by multiple features are placed in
componentsfolder - Using
kebab-casefor folder, file and components naming convention - Using
camelCasefor function and variable naming
- Github OAuth App
- Firebase setup for authentication using GitHub provider
To run the dev server for your app, use:
npx nx serve git-notesTo create a production bundle:
npx nx build git-notesOverview of the project's directory structure:
├── src
│ ├── app
| ├── assets
| ├── components
| ├── feature
| ├── layouts
| ├── pages
| ├── providers
| ├── redux
| ├── routing
| ├── services
| ├── theme
| ├── utils
| ├── main.tsx
| ├── styles.scss
├── project.json
├── README.md
└── tsconfig.base.json
└── vite.config.ts- Deployed using Netlify
- See env variables from
.env.sample