- Overview
- Demo
- Development Philosophy
- Stack
- Configure
- Build
- Test
- Contribute
- License
- Features
- Features To Do
A personal website, built primarily to enable easy sharing of notes written in Markdown. Features include a Landing Page, About Page, Projects Feed, and a portal to upload and read Notes. Projects can be created and edited by admin users, as can notes. All Note and Project data is publicly readable to unauthenticated users. All notes are sortable by user-configured tags, and shareable via URL, with query params masquerading as routes.
I built this to serve as my own personal website, with the express intent of using it to share Notes. Whenever I complete a project, I tend to document it for myself in a Markdown file. I've amassed a trove of such files over several years, which I've now posted to efournier92.com for easy sharing. This marks the third application I've built using Angular in conjunction with Firebase, and I sought to design it to be as streamlined as possible, while adhering to the framework's best practices. I used Angular Material to develop the look and feel of the site. All components render nicely on mobile, tablet, and desktop. I leverage the ngx-markdown library to render uploaded markdown files, persisted with Firebase Storage, as html
in the Notes Component. I'll continue to add features and content to the site as I create more projects and accumulate more Markdown.
- Angular
- Angular Material
- TypeScript
- Firebase Realtime Database
- Firebase Hosting
- Firebase Storage
- Firebase Authentication
- SCSS
- Bootstrap
- RxJS
- ngx-markdown
- angular-webstorage-service
export const FireConfig = {
apiKey: "API_KEY",
databaseURL: "DATABASE_URL",
projectId: "PROJECT_ID",
storageBucket: "STORAGE_BUCKET",
};
ng serve
ng build --prod
ng test
If you have feature suggestions, please contact me here or at [email protected]. If you'd like to submit a pull request, please feel free to, and I'll review merge it at my earliest convenience!
This project is provided under the MIT
licence and I hereby grant rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the software without limitation, provided the resulting software also carries the same open-source licensing statement.
- Landing Page
- Typing animation
- E Does
- Projects
- View Project Styling
- Notes
- Change from Docs to Notes Paradigm
- URL From GitHub option
- [~] Hidden note feature
- Upload All Notes
- Hunt Bugs
- About
- Weeks In Life Visualizer
- Auth
- Integrate admin authentication
- Tags Admin
- List all tags
- Rename tag
- Delete tag