Giter Site home page Giter Site logo

sharmaadityahq / bossy Goto Github PK

View Code? Open in Web Editor NEW
16.0 5.0 51.0 1.65 MB

This is an entire API and a unique management application to serve information for today's most accomplished entrepreneurs.

License: MIT License

JavaScript 78.07% HTML 0.54% CSS 21.39%
javascript node-js express-js react chai mocha html css bootstrap linux

bossy's Introduction

BOSSY ๐Ÿ‘จโ€๐Ÿ’ป

first-timers-only GitHub license GitHub stars GitHub forks GitHub top language

Introduction

This is an entire API and a unique employee management application to serve information for today's most accomplished entrepreneurs. It helps entrepreneurs keep track of their employees and handle all the annoying meetings that keep getting added to their busy schedule. It also helps them to organize their brilliant ideas in a click.

Getting Started

Prerequisites

Ensure you have the following installed on your local machine:

Usage โœจ

1. git clone https://github.com/sharmaaditya570191/BossY.git

2. Navigate to the project's directory using: cd bossy

3. Run npm install in the root directory to install the dependencies.

4. Run npm run start-server to start the server and watch for changes

5. Run npm start to run the front-end only

Technology stack ๐Ÿ’ป

  • Frontend : It is made using React, HTML and CSS and you can customize the look of the Boss Machine by accessing the code in the src folder.

  • Backend : It is made using Express.js and is present in the server folder.

  • Database : MongoDB is used and the schemas are defined using Mongoose as ORM. This can be found in models folder.

  • Tests โš ๏ธ : The tests are written using Mocha and Chai as the assertion library and are present in the test folder.

Contribution ๐Ÿค

Start working on a feature by making a separate branch and make commits with meaningful messages. Feel free to open new-issues if you encounter bugs or want to suggest some enhancement in the app.

Before contributing to this project do check CONTRIBUTING.md file and CODE_OF_CONDUCT.md file.

Testing ๐Ÿงช

Tests are given in the test/test.js file. To run the tests, first open the root project directory in your terminal. Then run npm test. You will see a list of tests that ran with information about whether or not each test passed.

Contact Us ๐Ÿ“

Join the BOSSY slack workspace here ๐Ÿ™Œ.

built with love smile please

bossy's People

Contributors

aashimgarg avatar aman-codes avatar ashishnagpal2498 avatar bhuwanchandra avatar chetanjain10 avatar dependabot[bot] avatar endowmissy avatar geesa-vihara avatar jamesjose03 avatar nitashadhingra avatar sapna2001 avatar satyam3976 avatar sharmaadityahq avatar sharmakeshav10 avatar shreyakapoor08 avatar shwetagurnani avatar suhanichawla avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

bossy's Issues

Migrate from react-router to reach-router

reach-router is a better router in terms of accessibility and comes from the same person who developed react-router and tries to cover the shortcomings of react-router. reach has a different path-scoring algorithm which makes it more specific.
The task is to replace every usage of react-router with reach-router and ensure that nothing breaks in the process.

Add user interface for employees

This includes adding a separate interface for employees where they can report and discuss the problems they are facing. This can be implemented in the form of a simple common discussion page for the boss and the employees.

Enhance code readability by nesting routes

Description
Use router parameters as well as nested routers to enhance code readability by nesting various /minions, /ideas and /work routes. Make separate file for the routes.

Secure the web app

Hello @sharmaaditya570191, I am Parth and I want to contribute to this project. Can I add Helmet.js to prevent DNS attack and to prevent the web app from being hacked.

Create Schema for Minion using Mongoose

Everything in Mongoose starts with a Schema. Each schema maps to a MongoDB collection and defines the shape of the documents within that collection. This task involves making a schema for minions. You can refer to createMinion function in server/db.js file to complete this task.

Create 3rd page header component

Create a function component in React to replicate the following:-
image
Use svg format for the designs and do the remaining styling using scss.

Add script to format and lint files with prettier-standard

Add prettier-standard code formatter to the project which will format with prettier and lint with ESLint by following the instructions here. Then add a small format script in the package.json so that contributors can run this script before making a pull request.

Design a logo for BOSSY

This includes designing a nice and eye-catching logo for the project. The logo file type should be .png. You can suggest different file types along with the benefits of using them. First 4-5 interested people can work on this issue and we can go with the best design.

Github Actions

I'm planning to add following actions to this project:
1.)Greet:This action will greet the participant whenever they raise an issue or submit a PR .
2.)Stale: To mark unattended issues or PR(s).
3.)Mind-Your-Language: To warn the participant if he/sye uses foul language in the repo.

Will update this list with more ideas as well.

I'm working on this issue.

Create navigation bar component

You have to create a function component in React to replicate the following navbar. All styling should be in scss.
image
The navbar should change to this on clicking the search button:-
image
You can remove the cart icon from the navbar

Add API documentation for all routes

1. Create a README.md file in the server directory.
2. Code for the entire API is in the server directory.
3. Describe functionality and behaviour of all routes and the response type when the user hits the endpoints.(include screenshots of request-response with morgan('tiny') if possible)

Make a document CONTRIBUTING.md

Hello Everyone,
This is a new document that helps the open source contributors to understand and learn. How to get involved to contribute to this project. This makes a document helps us the collaborator to understand what this project is and how they can contribute towards it.
Thank You

Restructure the project using the MVC pattern

Is your feature request related to a problem? Please describe.
The project needs to be restructured for easy arrangement and access especially the back-end files

Describe the solution you'd like
A src folder needs to be created for the backend files, this will contain other backend folders too, the api.js file should be a route folder and be separated

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
I will do this, kindly assign it to me

Connect Express to MongoDB via Mongoose

This task involves connecting the API made with Express to the backend made using MongoDB via Mongoose. This would ensure proper flow of data stored in the backend.

Environment variable error

Getting this error when running npm i

ERROR in ./browser/index.js
Module build failed: Error: Using `babel-preset-react-app` requires that you specify `NODE_ENV` or `BABEL_ENV` environment variables. Valid values are "development", "test", and "production". Instead, received: undefined. (While processing preset: "/home/shohan/Desktop/node_modules/babel-preset-react-app/index.js")

It is an environment variable issue. Maybe something to do with the babel-preset-react-app version

If it is not, and environment variables need to be set manually, please mention them in the README

Create 1st page header component

You have to create a function component in React to replicate the following header:-
image
You can design it as an svg and do the remaining styling using scss. Please ignore the side buttons of "related" and "buy now"

Add password reset feature

Add password change or reset feature so that the boss or team leads can reset it if they forget their original password.

Create Schema for Work using Mongoose

Everything in Mongoose starts with a Schema. Each schema maps to a MongoDB collection and defines the shape of the documents within that collection. This tasks involves using Mongoose to create schema for Work. You can refer to the createWork function in server/db.js file to complete this task.

Migrate to MongoDB

Currently the database is organised in JavaScript. This tasks involves replicating and migrating the same functionality with MongoDB.

Add Communication channel link in README.md

Description

As a contributor,
I need to know where I can reach out to the community,
so that I can discuss or see discussions of this project.

I would suggest adding a section such as "Contact us" or "How to reach us" to the README.

Update [Required]

Add the contact section.

Definition of Done

[ ] All of the required items are completed.
[ ] Approval by 1 mentor.

Estimation

[0.5] hour

Add pre-commit hooks

Is your feature request related to a problem? Please describe.
As of now, there are no pre-commit hooks.

Describe the solution you'd like
Add prettier and husky as pre-commit hooks for proper code formatting and styling.

Describe alternatives you've considered
N/A

Additional context
N/A

Convert all css code to scss

A preprocessor is one of the best ways to style a project as it gives additional features and enhances code readability. This involves converting all existing css code which is used for styling to scss code.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.