
This PROJECT is a versatile note-taking application that offers users a convenient and powerful solution for creating, managing, and organizing notes in Markdown format. It provides the added benefit of assistance from ChatGPT. Users can access this solution anytime and anywhere.
- Athentication, and Authorization
- User's password encryption
- CRUD user, note, and category
- Hashtags
- Markdown Editor, and Viewer
- Responsive Design
- ChatGPT (An updated feature)
- I won't go into detail about the technologies required by Hackbright since they were mandatory. However, React without Create React App (CRA) was an optional choice. I opted for React over vanilla JavaScript because it offers efficient ongoing updates and maintenance in certain aspects.
- The main advantages of Markdown are its concise and intuitive syntax, which makes document creation and reading easy and fast. It is platform-independent and can be displayed consistently across various platforms. It can be used for a variety of purposes and is well-suited for version control systems, allowing for efficient collaboration and document revision management. Additionally, it can be easily converted to HTML, enabling the incorporation of more complex styling and layout elements when needed.
- I designed the application with a responsive layout to emphasize the accessibility of our notes anytime and anywhere. By implementing design principles that optimize readability and usability, we ensure that users can conveniently utilize the notes on various devices and screen sizes.
- This application utilizes the OpenAI API to provide users with the ability to conveniently write notes through a chatbot within the Markdown editor, without relying on search services, even for information or content they may not be familiar with, such as Markdown syntax.
- I used plain JSX files with React for categories and hashtags, bypassing Create React App (CRA). It was a complex but rewarding process, enhancing my understanding of React. Overcoming challenges resulted in a more efficient user experience. I employed UI components for streamlined state management and an intuitive interface.
- During this project at Hackbright Academy, certain technical requirements were mandated. Building the Markdown editor without utilizing Jinja was not feasible, which posed challenges in integrating the OpenAI API with the Markdown editor. However, overcoming these obstacles provided an opportunity to revisit and reinforce foundational knowledge that had been overlooked.
- Plans to add a file uploader feature for attaching image files.
- The ability to convert stored note data to Markdown files for downloading.
To begin, clone this repository to your local machine.
git clone https://github.com/platosw/jayskine-notebook-app.gitAfter cloning, use your CLI to navigate to the project root directory and initialize a virtual environment.
virtualenv env
source env/bin/activateOnce in the virtual environment, install all required depenencies.
pip3 install -r requirement.txtCreate a secrets.sh file.
touch secrets.shWrite a secret keys in the secrets.sh file.
export SECRET_KEYS="whatever you want"Write a Open AI API key in the secrets.sh file.
export OPENAI_APIKEY="your api key"Connect SECRET_KEYS and OPENAI_APIKEY to the server.
source secrets.shNext, create and seed a database for the project. You will need PostgreSQL installed for this.
python3 seed_jayskine.pyFinally, start the server to launch Jayskine.
python3 server.py| Category | Tech |
|---|---|
| Client Side | |
| Server Side | |
| API | |
| Others |
You can use pdoc documentation Before running server.py
pdoc filepath w/filenameexamples:
pdoc ./server.pyClick here to view the Jayskine demo video!
-
I would like to express my deep gratitude to Ray Traina-Grandon, Sean Moriarty, and Katarzyna Jablonski. Your guidance, feedback, and assistance throughout the development process have played a significant role in our success. Thank you for your invaluable support.
-
I would like to extend my deep gratitude to Walmart for their generous sponsorship, which has contributed to making our project a reality. Thank you for your invaluable support.