Inspiration

Coming from the 49ers STEM program at Santa Clara High, I am used to working in large group projects. Over time, I have learned how important it is to have a good team structure, and that led me to create this app!

What it does

This app has several components that make it unique. It includes a running list of all employees in your company, including a way to add more to the app. The company admin can add and assign tasks, as well as rate an employee based on their productivity and work ethic. This overall makes managing your company a lot simpler and less tedious.

How I built it

To build this app, I used the best language for full-stack app development, react native. I split the app into different parts - login, manage employees, tasks, and assessment, From there, I divided and conquered these components and completed the app. Logging in and signing up where very straightforward. I used firebase auto for both, and for signing up, company admin had to be able to allow and approve employees into their app, so I used Zapier to send emails to the admin whenever an employee wanted to join. Manage employee was rather straightforward as well, with a stack icon display to show each employee, and add button and a form to add an employee, and a delete button to remove employees. The task assigner was also very simple. It was basically the same thing as the employee screen, but with tasks. Additionally, you could mark tasks as complete and remove them. Lastly, you have the assessment screen. This was very straightforward as well, as it was just a form with sliders that averaged the score. Again, you have the same basic layout of the employees, but it displays the score.

IMPORTANT FOR TESTING here are some basic login details Owner Account: email: companyemail@gmail.com password: 123456

Challenges I ran into

One major challenge was company privacy. To keep things private between companies, I decided that each company would have their own firebase. Additionally, signing up employees would have to get approved and created by their company owners in order to access the app. Other than this major issue, there were several minor issues. Some minor issues included organizing user data and sending emails to the owner to approve a user. The first one was the result of poor planning, and once I developed a flow chart and narrowed down the idea in my head, I was able to resolve the issue. The second one was a little more straightforward, with just a little research resulting in me finding Zapier, a product that allows you to automate your application with simple event listeners in your firebase to send emails and other tasks.

Notable Accomplishments

Some parts I liked about my app included the overall design and color scheme of the app. Personally, I favor dark themes over light themes, hence the main dark color design. Additionally, the geometric design has been lingering in the back of my head for when I start a new project, so I implemented it into the project. As someone who likes to work a lot of front-end, I think this project front-end turned out alright, and could use a little fine tuning.

Concepts I learned

I learned a lot of back-end throughout this project, and a lot of their concepts. First, I learned what a realtime database is, and simple procedures to organize your data a lot more efficiently. I learned about simple usages of flow charts and other diagrams can help solve a ton of back-end issues, and a lot of applications that help your back-end become more efficient and help with making user experience a lot simpler and less tedious, such as Zapier.

Future Implementations

For future implementations, I would include a chat room for all of the members of the company, to enhance even more communication. As mentioned before, I would also fine tune a few of the designs of the app to make it look and function a little nicer.

Thank You

Thank you for taking the time to read this... Have a great day! -_ Ritvik _

Share this project:

Updates