Skip to content

Systemized/CeriseNote

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CeriseNote

CeriseNote is a full-stack note-taking application built with the MEAN stack

Cerise because webapp has the theme #de3163

  • Client: Angular
  • Server: Express (Node.js)
  • Database: MongoDB Atlas
  • File Storage: Cloudflare R2
  • Authentication: Google OAuth 2.0 (with session-based authentication)

README.png

Features

  • User authentication via Google
  • Secure Server session via Mongo-Store
  • File upload and storage via Cloudflare R2
  • Create, update, and delete notes via MongoDB
  • Responsive Angular SPA frontend

Getting Started

  1. Have an account for the following:

    • MongoDB Atlas (Create a project & cluster)
    • Cloudflare (Create an R2 bucket)
    • Google Cloud (OAuth 2.0 credentials for web client)
  2. git clone https://github.com/systemized/cerisenote

  3. Create a .env file in the root directory with the following variables:

    MONGO_URI=<mongodb_atlas_connection_string>
    SESSION_SECRET=<session_secret>
    R2_ACCESS_KEY_ID=<R2_access_key_id>
    R2_SECRET_ACCESS_KEY=<R2_secret_access_key>
    R2_BUCKET=<R2_bucket_name>
    R2_ENDPOINT=<R2_endpoint>
    GOOGLE_CLIENT_ID=<google_client_id>
    
  4. Create environemnt.ts and environment.development.ts files at /client/src/environments/

    // environment.development.ts file
    export const environment = {
       production: false,
       apiUrl: 'http://localhost:3000/api',
       client_id: '<your own google client_id>'
    };
    // environment.ts file
    export const environment = {
       production: true,
       apiUrl: '/api',
       client_id: '<your own google client_id>'
    };

Running Locally

Running with Docker-Compose

  1. Containerize and run:

    docker-compose up --build

    For production, change from development to production in ./client/nginx.conf

    Running at localhost:4200

OR

Running manually

  1. Split Terminal (for client and server)

  2. Start Frontend:

    cd client
    npm install
    ng serve
  3. Start Backend:

    cd server
    npm install
    npx tsc
    node dist/app.js

    Running at localhost:4200

About

A cloud-based storage for notes and files

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published