_Scribez is a web application that enables users to create, manage, and collaborate on journals and entries. It provides a platform for users to document their thoughts, ideas, and experiences collaboratively.
- Features
- Technologies Used
- Getting Started
- Usage
- API Endpoints
- Frontend
- Backend
- User Authentication
- Contributing
- License
- User Authentication: Register, login, and logout securely using JWT authentication.
TODO
- Journal Management: Create, update, and delete journals with basic authorization.
- Entry Management: Create, update, and delete entries within journals.
- Basic Collaboration: Real-time collaboration on journal entries with conflict resolution mechanisms (optional).
- MongoDB: NoSQL database for storing user data, journals, and entries.
- Express.js: Backend framework for handling HTTP requests and business logic.
- React.js: Frontend library for building user interfaces.
- Node.js: JavaScript runtime environment for running server-side code.
- JWT (JSON Web Tokens): Token-based authentication mechanism.
TODO
- Axios: HTTP client for making requests from the frontend to the backend.
Before you begin, ensure you have the following tools installed:
- Node.js and npm
- MongoDB
-
Clone the repository:
git clone https://github.com/lebogangolifant/_scribez.git
-
Install dependencies:
cd _scribez npm install
-
Set up MongoDB:
-
Make sure MongoDB is running.
-
Create a
.env
file in the project's root directory. -
Add your MongoDB connection string to the
.env
file:MONGODB_URI=your-mongodb-connection-string
Replace
your-mongodb-connection-string
with your actual MongoDB connection string.
-
-
Start the backend server:
cd backend node server.js
-
Start the frontend server:
cd frontend npm start
-
Access the application in your browser at
http://localhost:3000
.
The API endpoints are documented in the API DOCUMENTATION file.
The frontend is built with React.js, utilizing components for journal and entry management, user authentication, and collaboration features.
The backend is built with Node.js and Express.js, providing RESTful APIs for user authentication, journal and entry management, and collaboration functionalities. MongoDB is used as the database for storing user data, journals, and entries.
User authentication is implemented using JWT (JSON Web Tokens) for secure registration, login, and logout functionality. 'TODO'
Contributions are welcome! Please follow the contribution guidelines.
This project is licensed under the MIT License.