SocialDev is an open source project, and contributions of any kind are welcome and appreciated. Open issues, bugs, and enhancements are all listed on the issues tab and labeled accordingly. Feel free to open bug tickets and make feature requests.
If you encounter a bug, please file a bug report. If you have a feature to request, please open a feature request. If you would like to work on an issue or feature, there is no need to request permission. Please add tests to any new features.
In order to create a pull request for SocialDev, follow the GitHub instructions for Creating a pull request from a fork. Please link your pull request to an existing issue.
Description of the project files and directories.
├── .circleCI/ # CircleCI
│ ├── config.yml # CircleCi configuration file
├── .firebase/ # Hosting information
├── .storybook/ # Storybook
├── config.yml # Storybook configuration file
├── functions/ # Firebase Functions
├── index.js
├── public/ # Files that will write to dist on build
├── src/ # All SocialDev app source files
│ ├── assets/ # Supplemental assets
│ ├── components/ # Components in Atomic Design System
│ ├── atoms/ # Basic blocks for building bigger parts
│ ├── molecules/ # Many of atoms components connect to each other
│ ├── organisms/ # Biggest one's
│ └── firebase/ # Firebase config and refs files.
│ └── hooks/ # All of custom Hooks in there
│ └── routes/ # Utils routes for React Router
│ └── templates/ # Templates for further pages
│ └── theme/ # Global Styles and color utils
│ └── utils/ # Utilities functions
│ └── views/ # Pages
│ └── index.js # Main React file
│ └── setupTests.js # Tests configuration file
├── .eslintrc # Eslint configuration file
├── .firebaserc # Firebase configuration file
├── .gitignore # Files ignored by git
├── .prettierrc # Code convention enforced by Prettier
├── firebase.json # Firebase app setting
├── firestore.rules # Firebase database(firestore) security rules.
├── LICENSE # License for this open source project
├── package-lock.json # Package lockfile
├── package.json # Dependencies and additional information
├── README.md
└── storage.rules # Firebase storage security rules
An explanation of the package.json
scripts.
Command | Description |
---|---|
build |
Create a production build |
start |
Start a dev server |
eject |
Eject CRA |
test |
Run tests in the command line |
storybook |
Open Storybook |
build-storybook |
Build Storybook |
firebase-deploy |
Build and deploy project to firebase |
This project is possible thanks to all these open source languages, libraries, and frameworks.
Tech | Description |
---|---|
React | Library for building user interfaces |
React Router | Declarative routing for React |
Firebase | Google development platform |
Styled Components | Visual primitives for the component age. |
CirclCI | Continuous Integration platform |
StoryBook | UI components explorer |
Moment | Js library, helps with formatting dates |
React Hook Form | Forms with easy-to-use validation. |
React Testing Library | Testing library for React |
Husky | Pre-commit tool. |
Lint-staged | Pre-commit tool. |
Eslint | Javascript Linter |
Coding conventions are enforced by ESLint and Prettier.
- React: functional style with Hooks (no classes)
const
preferred overlet