GithubHelp home page GithubHelp logo

final-project's Introduction

Organizr - planner tool

Organizr is a student project developed by Isabella Markskog and Sandra Wallén.

In short, it's a fullstack application where a user can plan projects and have other people join in on a project as collaborators. In this application a user can plan projects and have other people join in on a project as collaborators. The general idea is to provide the user with the means to add, store and maintain projects and on a single project you can add tasks related to the project.

We believe it's a well balanced application between frontend and backend in terms of functionality implemented.

How we built it

Initially, we built and completed the Sign up and Sign in functionality. With that in place, we proceeded to build the content of the application which is restricted to registered users only. During the building process, we tested the functionalities, refactoring code when needed and discussed the current functionalitites/code and the upcoming work that needed to be done. Throughout the building process we also styled the components and at the end of it we went through the code base and evaluated consistency and did a general clean up of the code.

Frontend

  • Projects section; overview of projects and single project (GET req), add a new project (POST req), edit a project (PATCH req), add/remove collaborator (PATCH req), delete project (DELETE req)
  • Tasks section; overview of tasks (GET req), add a new task (POST req), add a new comment to a task (PATCH req), edit a task (PATCH req), delete task (DELETE req)
  • Profile section; overview of user info (GET req), edit profile (PATCH req), upload avatar image (PATCH req)
  • Styling is mostly done using Styled components

Technologies/Packages used

  • React
  • Redux
  • React Router
  • Styled components
  • Material.ui
  • React icons
  • Carousel (react-responsive-carousel)

Backend

  • Using Express Router to refactor code
  • Server.js; route for every endpoint
  • authenticateUser.js; authorization function
  • userController.js; all requests related to user collection
  • projectsController.js; all requests related to projects collection
  • tasksController.js; all requests related to tasks collection
  • upload.js; uploading avatar images to database using Cloudinary

Technologies/Packages used

  • Node.js
  • Express.js
  • MongoDB
  • mongoose
  • bcrypt
  • Cloudinary
  • express-list-endpoints

ENDPOINTS

All endpoints

Displays all endpoints for this API using npm package express-list-endpoints. Base URL: https://final-project-isma-sawa.herokuapp.com

  • GET /
Sign up & Sign in
  • POST /signup
  • POST /signin
User

Restricted access (users only).

  • GET /sessions/:userID - single user
  • GET /sessions/users - all users
  • DELETE /sessions/:userID - delete user
  • PATCH /sessions/:userID - edit user
Avatar image

Restricted access (users only).

  • PATCH /sessions/:userID/avatar - edit avatar image
Projects

Restricted access (users only).

  • GET /sessions/:userID/projects - all projects
  • GET /sessions/projects/:projectID - single project
  • POST /sessions/:userID/projects - add new project
  • DELETE /sessions/projects/:projectID - delete single project
  • PATCH /sessions/projects/:projectID - edit project
  • PATCH /sessions/projects/:projectID/collaborators - add collaborators
  • PATCH /sessions/projects/:projectID/collaborators/delete - delete a collaborator
Tasks

Restricted access (users only).

  • GET /sessions/projects/:projectID/tasks - all tasks
  • GET /sessions/projects/:projectID/tasks/:taskID - single task
  • POST /sessions/projects/:projectID/tasks - add new task
  • DELETE /sessions/projects/:projectID/tasks/:taskID - delete single task
  • PATCH /sessions/projects/:projectID/tasks/:taskID - edit task
  • PATCH /sessions/projects/:projectID/tasks/:taskID/comments - add comment
  • PATCH /sessions/projects/:projectID/tasks/:taskID/complete - toggle complete

View it live

To view our application Organizr live, please visit this link: https://organizr-final.netlify.app

Ongoing development

Features/Functionalities we want to implement:

  • Tasks; functionality for labels, due date, sorting and filtering options of task list, draggable task items
  • Projects; functionality for due date, sorting and filtering options of projects, draggable project items
  • User; functionality to delete user on frontend (endpoint ready in backend)
  • Implement dark/light color theme
  • Email notification (in backend) - upon sign up and possibility to subscribe to changes to different items
  • Monthly/weekly/sprint overview

final-project's People

Contributors

isabellam5 avatar sandra-wallen avatar emolsz avatar dependabot[bot] avatar idlefingers avatar

Watchers

 avatar

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.