Index
frontend
βββ src
βββ components
| βββ ErrorHandlerPages
| | βββ 404
| | | βββ NotFound.jsx
| | | βββ index.js
| | | βββ not-found.module.scss
| | βββ LoggedIn
| | | βββ LoggedIn.jsx
| | | βββ index.js
| | | βββ logged-in.module.scss
| βββ Footer
| | βββ Footer.jsx
| | |ββ footer.module.scss
| | |ββ index.js
| βββ Navbar
| | βββ Navbar.jsx
| | |ββ navbar.module.scss
| | |ββ index.js
| βββ util
| | βββ Button
| | | βββ Button.jsx
| | | βββ index.js
| | | βββ button.module.scss
| | βββ DropMenu
| | | βββ DropMenu.jsx
| | | βββ index.js
| | | βββ drop-menu.module.scss
| | βββ Dropdown
| | | βββ Dropdown.jsx
| | | βββ MenuItems.js
| | | βββ index.js
| | | βββ dropdown.module.scss
| | βββ ScrollToTop
| | | βββ LoggedIn.jsx
| | | βββ index.js
| | | βββ logged-in.module.scss
| | βββ Toast
| | | βββ Toast.jsx
| | | βββ index.js
| | | βββ toast.module.scss
| | βββ Toggle
| | | βββ Toggle.jsx
| | | βββ index.js
| | | βββ toggle.module.scss
βββ config
| βββ api.js
βββ fonts
| βββ FuturaLT-Book.ttf
βββ test_data
| βββ broadcast_text.json
| βββ superadmin_credential.json
| βββ team-roles.json
| βββ teams.js
βββ store
| βββ actions
| | βββ actions.js
| | βββ auth.js
| βββ reducers
| | βββ reducer.js
βββ pages
β βββ Home
| β βββ components
| | | βββ JoinUs
| | | | βββ JoinUs.jsx
| | | | βββ index.js
| | | | βββ join-us.module.scss
| | | βββ Carousel
| | | | βββ Carousel.jsx
| | | | βββ index.js
| | | | βββ carousel.module.scss
| | | | βββ owl-carousel-styles.css
| | | βββ JoinUsForm
| | | | βββ Form.jsx
| | | | βββ index.js
| | | | βββ form.module.scss
| | | βββ Motive
| | | | βββ Motive.jsx
| | | | βββ index.js
| | | | βββ motive.module.scss
| | | βββ Overview
| | | | βββ Overview.jsx
| | | | βββ index.js
| | | | βββ overview.module.scss
| β βββ index.js
| β βββ Home.jsx
| β βββ home.module.scss
| β βββ nav-icon.png
β βββ About
β β βββ About.jsx
β β βββ index.js
β β βββ about.module.scss
β β βββ about.scss
β βββ Login
β | βββ Login.jsx
β | βββ index.js
β | βββ login.module.scss
β βββ Admin
| β βββ components
| | | βββ JoinUs
| | | | βββ JoinUs.jsx
| | | | βββ index.js
| | | βββ About
| | | | βββ About.jsx
| | | | βββ index.js
| | | | βββ about-us.module.scss
| | | βββ AddTeamMember
| | | | βββ AddTeamMember.jsx
| | | | βββ index.js
| | | | βββ add-team-member.module.scss
| | | βββ Broadcast
| | | | βββ AddBroadcasts
| | | | | βββ AddBroadcasts.jsx
| | | | | βββ index.js
| | | | | βββ add-broadcasts.module.scss
| | | | βββ Broadcast.jsx
| | | | βββ index.js
| | | | βββ broadcast.module.scss
| | | βββ Contact
| | | | βββ Contact.jsx
| | | | βββ index.js
| | | βββ Dashboard
| | | | βββ Dashboard.jsx
| | | | βββ index.js
| | | | βββ dashboard.module.scss
| | | βββ Faq
| | | | βββ AddFaq
| | | | | βββ AddFaq.jsx
| | | | | βββ index.js
| | | | | βββ add-faq.module.scss
| | | | βββ Faq.jsx
| | | | βββ index.js
| | | | βββ faq.module.scss
| | | βββ MangeTeams
| | | | βββ ManageTeams.jsx
| | | | βββ index.js
| | | | βββ manage-teams.module.scss
| | | βββ Profile
| | | | βββ Profile.jsx
| | | | βββ index.js
| | | | βββ profile.module.scss
| | | βββ Resource
| | | | βββ Resource.jsx
| | | | βββ index.js\
| | | βββ Setting
| | | | βββ Invite
| | | | | βββ Invite.jsx
| | | | | βββ index.js
| | | | | βββ Invite.module.scss
| | | | βββ Manage
| | | | | βββ Manage.jsx
| | | | | βββ index.js
| | | | | βββ Manage.module.scss
| | | | βββ ResetPassword
| | | | | βββ ResetPassword.jsx
| | | | | βββ index.js
| | | | | βββ Invite.module.scss
| | | | βββ Setting.jsx
| | | | βββ index.js
| | | | βββ setting.module.scss
| β βββ index.js
| β βββ Admin.jsx
| β βββ admin.module.scss
β βββ Broadcast
| β βββ Component
| | | βββ AllBroadcasts
| | | | βββ Card
| | | | | βββ Card.jsx
| | | | | βββ index.js
| | | | | βββ card.module.scss
| | | | βββ Edit
| | | | | βββ Edit.jsx
| | | | | βββ index.js
| | | | | βββ edit.module.scss
| | | | βββ AllBroadcasts.jsx
| | | | βββ index.js
| | | | βββ all-broadcasts.module.scss
| | | βββ Carousel
| | | | βββ Edit
| | | | | βββ Card.jsx
| | | | | βββ index.js
| | | | | βββ card.module.scss
| | | | βββ Modal
| | | | | βββ Edit.jsx
| | | | | βββ index.js
| | | | | βββ edit.module.scss
| | | | βββ Carousel.jsx
| | | | βββ index.js
| | | | βββ carousel.module.scss
| | | | βββ coustom-owl-carousel-style.scss
| β βββ index.js
| β βββ Broadcast.jsx
| β βββ broadcast.module.scss
β βββ ContactUs
β | βββ Faq.jsx
β | βββ index.js
β | βββ ContactUs.module.scss
β βββ Faq
β | βββ Faq.jsx
β | βββ index.js
β | βββ faq.module.scss
β βββ ForgotPassword
β | βββ ForgotPassword.jsx
β | βββ index.js
β | βββ ForgotPassword.module.scss
β βββ ForgotPasswordRecovery
β | βββ ForgotPasswordRecovery.jsx
β | βββ index.js
β | βββ ForgotPasswordRecovery.module.scss
β βββ GetInvolved
β | βββ GetInvolved.jsx
β | βββ index.js
β | βββ get-involved.module.scss
β βββ PrivacyPolicy
β | βββ PrivacyPolicy.jsx
β | βββ index.js
β | βββ privacy-policy.module.scss
β βββ Terms
β | βββ Terms.jsx
β | βββ index.js
β | βββ terms.module.css
β βββ Resources
| β βββ Component
| | | βββ ResourceSharingForm
| | | | βββ ResourceSharingForm.jsx
| | | | βββ index.js
| | | | βββ resource-sharing-form.module.scss
| β βββ index.js
| β βββ Resources.jsx
| β βββ resources.module.scss
βββ app.js
βββ index.js
βββ index.css
βββ index.css
Rules to follow
- Do not use default exports. Instead, use named exports throughout the project.
export class Header extends Components{
}
{/* For named exports, 'export' keyword should be used as shown above. There won't be any default export line anywhere in the code. */}
- Strictly follow PascalCase naming convention for naming React Components.
- Import CSS module file as style in all the pages and components. Example,
import style from 'header.module.scss'
- Change all the class names.
<p className={style["class-name"]}>Some content...</p>
. Note - Keep the bootstrap classes likerow
,col-
,container
, etc, as they are.
The following convention should strictly be followed.
DO NOT use camelCase
, or PascalCase
to name the CSS/SCSS files.
Strictly use Kebab-case
Example - codeOfConduct.module.scss
will not be accepted. The right way is code-of-conduct.module.scss
Use kebab-case
for variable names while maintaing the BEM nomenclature.
For example
/* wrong practice */
.blogCard__card--small {
...;
}
/* right practice */
.blog-card__card--small {
...;
}
/* wrong practice */
.submitButton__big--lightBlue {
...;
}
/* right practice */
.submit-button__big--light-blue {
...;
}
- Make a folder with the component name.
If it is a page, make a folder inside
frontend/pages
folder. If it is a global component (like header, footer, navbar), component that is used in multiple pages, then make a folder insidefrontend/components
folder. - Strictly follow the React rules mentioned above.
- Follow the CSS rules and edit all the classnames accoridingly. Note that bootstrap classes (row, col-, container) should be left as they are.
- Do not worry about BEM Nomenclature for now.