CodeLibs feature and users
Features
- Able to store user created code snippets in the data base (either public or private)
- Able to share the code snippet with click of button to others
- Able to categories the snippets using personalised tags
- Able to add notes to the code snippet
- Able to turn the code snippets into flashcards
- Able to search the wanted code snippets and flashcards from the public pool
- Include a typing practice for users on their code snippets
- Able to share public snippets or public flashcard set in public
Customer
Use Scenarios
- For Programmers
- Effortlessly store, organise, and practice your code snippets with personalised tags and interactive learning tools.
- Share code snippet with syntax highlighting with colleague and friend, with ease for debugging (share link with a click of button)
- For Job Seekers
- Securely store and memorise LeetCode solutions, and improve your coding skills with tailored practice sessions.
- For Students
- Create code snippet for the topic they learnt in class or else where
- Create flashcards stacks for revision
- For All Of Us
- Enjoy a scalable, user-friendly platform with advanced search, tagging, and gamified learning features.
Characteristics
- Highly motivated by personal and professional growth
- Enthusiastic about technology and programming
- Active in coding communities
- Enjoy sharing knowledge and helping others improve their skills
Current Solutions and Improvement
- Current Solutions:
- Using text editors or IDEs to save code snippets
- Utilising GitHub Gists or repositories
- Using tools like Anki for flashcards
- Manually searching for code snippets online
- Improvement with New Solution:
- Speed and Efficiency: The integrated platform saves time by providing a one-stop solution for storing, organising, and practicing code snippets.
- Time Savings: Users can quickly find and practice relevant snippets, reducing time spent on manual organisation and search.
Product
Features
User Registration and Onboarding
- Features:
- Sign-Up/Sign-In: Users can register using email or social media accounts. If already registered, they can sign in.
- User Onboarding: Guide new users through the app features using a brief tutorial or interactive guide.
- Profile Setup: Users set up their profiles, including selecting preferences, default tags, and privacy settings for snippets.
Dashboard/Homepage
- Features:
- Overview of Snippets: Display a list of recently created or accessed snippets.
- Quick Actions: Buttons for creating a new snippet, searching snippets, and starting a typing practice session.
- User Stats: Display progress, such as the number of snippets created, flashcards reviewed, and typing practice streaks.
- Notifications: Alerts for new public snippets, shared snippets, or reminders for revision sessions.
Creating and Managing Snippets
- Features:
- Snippet Editor: A text editor with syntax highlighting where users can write and format their code.
- Tagging: Ability to add personalised tags to snippets for better organisation.
- Notes Section: A section within the snippet editor to add detailed notes or explanations.
- Privacy Settings: Option to set the snippet as public or private.
- Save and Share: A button to save the snippet to the database and another button to share it via a link or directly to other users.
Flashcards Creation and Management
- Features:
- Flashcard Creation: Users can convert snippets into flashcards directly from the snippet editor or create flashcards manually.
- Tagging and Categorisation: Flashcards can be tagged and categorised into different stacks for organised revision.
- Review Scheduling: Users can set up a spaced repetition schedule for their flashcards.
- Sharing Flashcards: Option to share flashcard stacks with others or make them public.
Searching and Browsing Public Snippets/Flashcards
- Features:
- Search Bar: A powerful search feature with filters for tags, categories, and snippet/flashcard type (e.g., public, private).
- Browsing Public Pools: Users can explore public snippets and flashcards, with options to sort by popularity, relevance, or date.
- Bookmarking/Favoriting: Users can bookmark or favorite public snippets and flashcards for later reference.
Typing Practice
- Features:
- Typing Practice Setup: Users can select snippets or flashcards for typing practice.
- Typing Interface: A user-friendly typing interface that tracks speed, accuracy, and progress.
- Practice History: Record of past practice sessions with performance metrics.
- Streaks and Achievements: Gamified elements such as streaks and badges for consistent practice.
Sharing and Collaboration
- Features:
- Snippet/Flashcard Sharing: Users can share their snippets and flashcards through a generated link or directly within the app.
- Collaboration: Option to collaborate on snippets with colleagues or friends, allowing multiple users to edit or comment on a shared snippet.
- Public Sharing: Users can contribute their snippets and flashcards to the public pool, helping to build a community resource.
Revision and Practice
- Features:
- Revision Reminders: Notifications reminding users to revise snippets or flashcards based on their confidence level and spaced repetition schedule.
- Practice Sessions: Users can start revision sessions where snippets/flashcards are presented for review, along with the option to mark them as familiar or needing more practice.
- Voice Recording and Transcription: Users can record their practice sessions, which are transcribed into text for review. The video is temporarily stored for comparison.
User Settings and Preferences
- Features:
- Profile Management: Users can update their personal information, change passwords, and adjust privacy settings.
- Notification Settings: Customise notifications for reminders, shared snippets, and other updates.
- Appearance Settings: Choose between different themes (e.g., dark mode, light mode) and customise the interface layout.