FactMania is a feature-rich web application built with Django that manages user preferences, stores data facts, and performs complex queries and transactions in a MySQL database. It incorporates Django's built-in forms authentication, command management, and unit testing for robust functionality. With a responsive design and modern UI/UX, FactMania offers an enjoyable user experience. This README provides an overview of the project, installation instructions, contribution guidelines, and contact information.
FactMania comes with the following features:
-
User Management:
- User registration and authentication
- User profile management and preferences
-
Data Facts:
- Create, read, update, and delete data facts
- Categorize facts for easy navigation
- Search and filter facts based on various criteria
-
Complex Queries and Transactions:
- Perform advanced queries on the MySQL database
- Execute complex transactions to maintain data integrity
-
Responsive Design:
- A modern and responsive layout that adapts to different screen sizes and devices
-
Beautiful UI/Modern UX:
- Thoughtfully designed user interface for an aesthetically pleasing experience
- Intuitive navigation and user-friendly interactions
-
Command Management:
- Custom management commands for performing administrative tasks
- Simplify common workflows and automate routine operations
-
Unit Testing:
- Comprehensive unit tests to verify the functionality of the application
- Ensures code quality and reduces the risk of regression bugs
To install and run FactMania, follow these steps:
-
Clone the repository:
git clone https://github.com/johntad110/Factmania.git
-
Navigate to the project directory:
cd Factmania
-
Create and activate a virtual environment:
python3 -m venv venv source venv/bin/activate
-
Install the dependencies:
pip install -r requirements.txt
-
Set up the database:
- Ensure you have a MySQL server running and credentials handy.
- Update the database configuration in
settings.py
to match your MySQL server settings. (there is adatabase_dump.sql
file in the project folder to get u started with dummy data.)
-
Apply migrations:
python manage.py migrate
-
Start the development server:
python manage.py runserver
-
Access FactMania in your web browser at
http://localhost:8000
.
Contributions to FactMania are welcome! If you'd like to contribute, please follow these guidelines:
- Fork this repository and create a new branch for your feature or bug fix.
- Make your changes and ensure they adhere to the project's coding style and guidelines.
- Write appropriate unit tests to validate your changes.
- Commit your changes and push them to your forked repository.
- Submit a pull request, describing your changes and the problem they solve.
If you have any questions, suggestions, or feedback regarding FactMania, feel free to reach out to me:
- Email: johntad110@example.com
- GitHub: John Tad
I appreciate your interest and involvement in advancing FactMania!