Skip to content

A content management system for developers and teams to maintain and share code snippets.

License

Notifications You must be signed in to change notification settings

gugzkumar/cheet-sheet

Repository files navigation

Cheet Sheet


Cheet Sheet is an open source Content Management System for developers and development teams to Create, Edit and Share code snippets. This accelerates software engineering by having a centralized place where one can see how they or teammates have solved common problems in the past.

Setting up Cheet Sheet for you or your organization is simple. All you need is Docker, Node and an AWS account. It's 100% Serverless so your costs and infrastructure will automatically grow and shrink based on your needs with minimal effort on your part. Read Getting Started

Here is my own instance of the application: https://cheet-sheet.gugz.net/

If you use the app and like it please leave a star. If you find bugs feel free to submit an issue.

Features

Public View

Public View

Cheet Sheet is fairly simple to understand. Code snippets are are organized as sheets with a self defined category (ex: Programming Language, Framework, tool, etc). Each sheet has two columns of index cards. Every index card has a code snippet. You can copy the entire content of the card by clicking on the copy icon. Everything here is read only.

Personal View

Personal View

If you sign up for an account and log in, you will have access to your own Personal Cheet Sheet workspace. AWS Cognito handles authentication for this app. Sheets in your personal workspace are only accessible to you. They are completely separate from the ones in the Public View. As a logged in user you have to ability to Create, Modify and Delete sheets in your personal workspace.

Personal View Edit Mode

You can enter Edit mode by manually toggling it on and off. When on, you can add, remove and modify index cards. You can even rearrange them via drag and drop. All changes to your sheet are transient and won't be permanent unless you save. Refreshing the page, moving between sheets, or workspaces will cause you to loose all progress so be careful.

Teams

Personal View Edit Mode

Team workspaces are also available for logged in users. Everything you can do on a Personal workspace applies here, except that this workspace can be viewed and edited by anyone who is on your team. To create a new Team workspace all you need to do is make a group in the Cognito user pool and add users to it. The name of the group is the name of team.

The sheets and index cards that are viewable by the public, are a part of the Public workspace. For a user to modify the sheets in this workspace they must be added to the admin user group in Cognito.

Built With

Here are some of the publicly available tools Cheet Sheet was built with:
  • AWS CDK
  • AWS SAM
  • Angular
  • Angular Material
  • Ace Editor
  • Python
  • Typescript
  • Javascript
  • Node
  • Docker
  • Circle CI

AWS Services Used

These are the AWS services a deployed instance of Cheet Sheet uses:
  • Cloudformation
  • Lambda
  • API Gateway
  • S3
  • Coginto
  • IAM
  • Cloudfront
  • Route53
  • Cloudwatch