Unleash Your Writing Creativity ποΈ
Report a bug
Β·
Request a feature
- About Scribly
- Features
- Language Support
- Getting Started
- Status
- Folder Structure
- Contributing
- Creator
- Special Thanks
- Copyright and License
Scribly is a cutting-edge web application designed to help budding writers and seasoned authors alike to hone their creative writing skills. Whether you're looking to improve your storytelling, develop unique characters, play with the metrics, or simply find inspiration, Scribly has got you covered.
Sample screenshot of Scribly in action.
- Folder Management System: Organize your notes, drafts, and final pieces with ease.
- Create & Analyze Notes: Jot down your thoughts and let Scribly provide feedback to enhance your writing.
- Social Functionalities: Connect with fellow writers, share your work, and get feedback.
- Diverse Lessons: From basics to advanced topics, learn the art of creative writing at your own pace.
- Badges & Achievements: Stay motivated with badges that mark your progress and achievements.
- ... and much more!
Currently, Scribly is available exclusively in Spanish. However, we're eager to make Scribly accessible to a wider audience. If you're proficient in Spanish and another language, and would like to help with the translation, we'd be thrilled to collaborate! Please reach out to us at scribly@gmail.com to discuss how you can contribute.
There are two main ways to dive into the world of Scribly:
- Sign Up: Create your Scribly account here.
- Dive into Lessons: Start with beginner lessons or jump straight into advanced topics.
- Write & Analyze: Use Scribly's intuitive editor to draft your stories and get instant feedback.
- Connect: Join the community, share your work, and collaborate with fellow writers.
For those who love to tinker with code, you can set up Scribly locally and make it your own!
- Clone the Repository:
git clone https://github.com/romen2232/scribly
- Install Dependencies: Coming soon is an `install.sh`` script that will automate all initial setup commands. In the meantime, you can:
-
Navigate to the backend directory:
cd ./backend
-
Create a virtual environment:
python3 -m venv venv
-
Activate the virtual environment:
source venv/bin/activate
-
Create an .env file:
python3 contrib/env_gen.py
-
Install RabbitMQ:
docker run -d --hostname rmq --name rabbitmq-server -p 8080:15672 -p 5672:5672 rabbitmq:3-management
-
Install dependencies:
pip install -r requirements.txt
-
Celery Worker Command:
celery -A scribly_api worker -l info -P eventlet
Create migrations:
./migrations.sh
-
Navigate to the frontend directory:
cd ./frontend
-
Setup TailwindCSS:
npx tailwindcss -i ./src/assets/styles/tailwind.css -o ./dist/main.css --watch
-
Start the development server:
npm run dev
Current Version: 0.9.0 Last Updated: September 13, 2023
We're on the brink of releasing Scribly 1.0! Here's a brief overview of what's left to tackle:
- UI & Design: Improvements in responsiveness, UI transitions, toast notifications, lesson icons, and overall design.
- Authentication: Issues with account activation, double login, email functionalities, and other related auth requirements.
- User Experience: Enhancements in lesson progress, user configurations, followers/following system, and badges.
- Backend: Refinements in backend language, image serving, and other backend-related functionalities.
- Miscellaneous: Various fixes in posts, ratings, loading, lessons, and documentation.
- Landing page
- Resend mail functionality
- Forgot password feature
- A
getStarted.sh
script - Testing
This summary provides a high-level overview of the tasks left for version 1.0. For detailed information on each task, check the project
Stay tunned for the 1.0 release.
Scribly's codebase is organized in a structured manner to ensure ease of navigation and maintainability. Here's a brief overview of the main directories and their purposes:
scribly/
β
βββ backend/ # Backend source code directory
β βββ module/ # Entity module for all the MVT related operations
β β βββ migrations/ # Database migrations for the entity
β βββ ... # (Similar structure for other modules)
β βββ frontend/ # Frontend source code directory
β β βββ public/ # Publicly accessible files
β β β βββ img/ # Public images
β β βββ src/ # Main source code for frontend
β β βββ app/ # Core application setup and bootstrap logic
β β βββ assets/ # Static assets utilized across the application
β β βββ components/ # Reusable UI components, organized by functionality
β β βββ hoc/ # Higher-Order Components enhancing base components
β β βββ hooks/ # Custom React hooks for various functionalities
β β βββ i18n/ # Internationalization setup and language files
β β βββ pages/ # Components representing entire pages or views
β β βββ services/ # Services for external API calls and data management
β β βββ stores/ # State management using zustand
β β βββ utils/ # Utility functions and helpers used across the app
β βββ scribly_api/ # Main API module for Scribly
βββ docs/ # Documentation directory
Scribly is built using a combination of powerful technologies. Here's a breakdown of the primary tools and frameworks that power our platform:
- Django: A high-level Python web framework that encourages rapid design and a clean, pragmatic design.
- Django Rest Framework: A powerful and flexible toolkit for building Web APIs.
- Celery: An asynchronous task queue/job queue based on distributed message passing.
- RabbitMQ: Our chosen message broker, ensuring that our task queue runs smoothly.
- PostgreSQL: A powerful, open-source object-relational database system.
- ChatGPT API: Leveraging OpenAI's powerful language model to enhance our chat functionalities and provide real-time writing feedback.
- React: A JavaScript library for building user interfaces.
- TailwindCSS: A utility-first CSS framework for rapidly building custom user interfaces.
- Zustand: A small, fast, and scaleable bearbones state-management solution.
- i18n: An internationalization-framework written in and for JavaScript.
- Docker: Empowering our application to run consistently across different environments.
- GitHub Actions: Automating our workflows, from testing to deployment.
- Nginx: Acting as a reverse proxy to direct web traffic.
- Git: For distributed version control.
- VS Code: Our preferred code editor, equipped with a suite of powerful extensions.
For contributions, check our contribution guidelines. It includes instructions on how to open issues, coding standards, and development notes.
We welcome contributions! If you find a bug or have a feature request, please open an issue. If you'd like to contribute code, please fork the repository and submit a pull request.
Scribly is the result of dedication, passion, and countless hours of work by:
- Role: Developer, Designer, & Visionary
- About: With a passion for both technology and storytelling, Romen envisioned a platform where writers could hone their skills and connect with others.
- Contact: Email | LinkedIn
A journey to innovation is seldom traveled alone. Along the path, we've had the pleasure of crossing with visionary entities that recognize and nurture potential. Among them, a special nod of gratitude goes to Aircury SL. Their initiative "Summer of Code" is not merely a program; it's a testament to their commitment to fostering talent and innovation, especially in sectors that touch the very essence of our society, such as education. While Scribly stands as a beacon for interactive learning, the winds beneath its wings were, in many ways, provided by the trust and opportunity rendered by Aircury.
Beyond organizations, there are special individuals whose personal touch, guidance, and unwavering support have been instrumental in shaping Scribly's journey:
-
Sergi Heras: A special shoutout to Sergi for being an incredible mentor throughout this journey. Your guidance, patience, and expertise were invaluable.
-
German Amian: Thank you, German, for being a pillar of support throughout the project. Your encouragement and insights made a world of difference.
Code and documentation Β© 2023 Romen Medina BeltrΓ‘n. Code released under the MIT License.
Keep writing and enjoy ποΈ