Git Product home page Git Product logo

centri's Introduction

Centri

This is a course project for Programming for Web (CIS 557) and is a group work produced by a team of four. The project was originally maintained in a Github Classroom private repo and I migrated the code here. As a result, apart from the source code itself, this repo does not contain any working records (e.g., Pull Request history, CI/CD configurations, etc.) that exist in the original repo.

My Work in this Project:

  • Applied Agile Method & Extreme Programming principles to the teamwork; Hosted weekly meetings to track our progresses in each sprint
  • Utilized Figma for UI/UX design and Swagger for API documentation
  • Built the frontend using functional components in React, along with Redux, Bootstrap, React Router, etc.
  • Built the Express-based backend using Passport for authentication, Mongoose for CRUD operations with MongoDB, Multer and GridFS for file storage in MongoDB
  • Tested the project with the Jest framework; used React Test Library, Supertest and Cypress to perform various tests and achieved a test coverage of over 80%
  • Constructed the CI/CD pipeline with Travis CI and Heroku; Also deployed the app on AWS Elastic Beanstalk

Design of this Project

UI/UX Design

We performed the frontend UI/UX design on Figma. The link to our design page is as follows.

UI design on Figma (Wireframes & Prototypes)

API Design

We followed the Rest API conventions when designing the backend API. Below is the link to our Swagger design page.

Swagger API documentation

Database Design

ER Diagram

ER Diagram

Entity Schemas

Entity Schemas

About this Project

This project contains the React-based frontend code in the folder client and the Express-based backend code in the folder api. It has been configured for building in the Linux environment and is ready for Heroku deployment. The unit/integration/API tests are kept on the test branch, and the end-to-end tests are kept on the e2e-test branch.

centri's People

Contributors

dwang2000 avatar xtcxxr avatar xpeteliu avatar justindong2 avatar

Stargazers

Minzheng Zhang avatar  avatar

Watchers

 avatar

Forkers

minzhengzhang

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.